web-dev-qa-db-fra.com

Cliquez sur un élément déclenche le clic sur un autre élément [JQuery]

J'ai un menu du haut avec les boutons home, prodotti, info et contatti. Ci-dessous se trouve un menu accordéon qui a toujours une diapositive ouverte. Lorsque vous cliquez sur un titre, il change et ouvre la diapositive correspondante.

screenshot

Je voudrais que lorsque j'appuie par exemple sur contatti dans le menu du haut, le déclic déclenche le clic sur contattaci dans le menu accordéon de sorte que la diapositive correspondante s'ouvre comme si je cliquais directement sur contattaci (avec JQuery).

screenshot2

Le code HTML du menu du haut ressemble à ceci:

<div id='cssmenu'>
                    <ul>
                        <li id="home" class='active'><span>Home</span></li>

                        <li id="prodotti"><span>Prodotti</span></li>

                        <li id="info"><span>Info</span></li>

                        <li id="contact" class='last'><span>Contatti</span></li>
                    </ul>
                </div>

Le code HTML du menu accordéon ressemble à ceci:

<div class="container">
<div id="demo">
<ol>
...................
<li id="contattaci">
<h2><span>Contattaci</span></h2>
<div>
<iframe src="form.php"width="625px" height="400px" ></iframe>
</div>
<p class="ap-caption">e-mail</p>
</li>
......
</ol>
</div>
<div>

Ainsi, lorsque je clique sur l'élément contatti du menu supérieur (avec id = "contact"), je souhaite simuler un clic sur "contattaci" dans le menu accordéon (avec id = "contattaci") afin qu'une diapositive avec un contact formulaire s'ouvre à côté de "contattaci".

Je ne suis pas sûr que ce soit possible, j'ai quand même essayé d'utiliser ce code JQuery:

<script>
    $(document).on('click', '#contact', function() {
        $("#contattaci").click();
    });
</script>

Ça ne marche pas. J'espère que vous pourrez m'aider à résoudre le problème.

EDIT: le menu css accordéon utilise css3 mais également une bibliothèque jquery appelée jquery.accordionpro.min.js qui utilise la bibliothèque JQuery Swipe ( https://github.com/jgarber623/jquery-swipe ). La diapositive peut probablement être ouverte à l'aide d'une fonction de la bibliothèque Jquery Swipe. Qu'est-ce que tu penses? Si vous pouvez m'aider, faites le moi savoir.

Lien vers le site Web pour une analyse plus approfondie: http://tinyurl.com/m2u5t7d

10
Fabio

Je voudrais l'essayer de cette façon:

$(document).on('click', '#contact', function(event) { 
    event.preventDefault(); 
    $("#contattaci h2").click(); 
});
14
pschueller

Je sais que je suis un peu en retard à la fête mais ... Pour le clic intérieur

$("#contattaci h2").click();

changez le en

$("#contattaci h2").trigger("click");
0
kwyjibear
$(document).on('click', '#contact', function(e) {
    $("#contattaci").trigger('click');
});
0
Pramod Kharade