2011-01-12 1 views
2

J'ai deux <ul> listes:Sélectionnez un objet dans deux listes lorsque mouseover

Item 1  A5 
Item 2  A4 
Item 3  A2 
Item 4  A1 
Item 5  A3 

Où puis-je commencer à écrire du code qui, quand je passe la souris sur une <li> soit dans la liste, il mettra en évidence l'élément dans la première liste et le A correspondant dans la deuxième liste.

Par exemple, planant au-dessus « article 3 » dans la liste 1 devrait mettre en évidence à la fois que et « A3 » dans la liste 2.

Important: Les chiffres ne sont pas présents dans le texte des listes, qui était juste pour aider à expliquer. Le code HTML réel ressemble à ceci:

<ul class="list1"> 
    <li id="qq1">dfgfdgfdg</li> 
    .... 
</ul> 

<ul class="list2"> 
    <li id="aa1">cvbcvbcvb</li> 
    .... 
</ul> 

Répondre

2

Si vos ID restent dans ce format, puis:

$(".list1 li, .list2 li").hover(function() { 
    var n = this.id.substr(2); 
    $("#qq" + n + ", #aa" + n).toggleClass("highlight"); 
}); 

Démo: http://jsfiddle.net/e37Yg/

+0

C'est parfait, merci. – bmaster

0
$('li#item3').hover(function(){ 
    $(this, '#A3', '#B1').addClass('hilite'); 
},function(){ 
    $(this, '#A3', '#B1').removeClass('hilite'); 
}); 
+0

Doesn pas bien, A3 et B1 sont juste exa Mples, ils ne devraient pas être dans le code. – bmaster

+0

Je le sais. C'est juste de vous montrer l'esquisse de la façon de le faire. Puisque vous n'avez pas montré le balisage html réel, comment puis-je savoir quels 'id 'sont vraiment là? – JakeParis

+0

J'ai montré le balisage HTML. Peut-être que c'était trop confus. – bmaster

0
$('.list1 li,.list2 li').hover(function() { 
    $(this).addClass('hovered') 
     .siblings() 
     .removeClass('hovered'); 
    $($(this).closest('ul').is('.list1')?'.list2 li':'.list1 li').eq($(this).index()) 
     .addClass('hovered') 
     .siblings() 
     .removeClass('hovered'); 
}); 

demo

+0

La question est un peu confuse, mais je pense que les éléments ne sont pas nécessairement dans le même ordre dans les deux listes. –

+0

Box9 avait raison. – bmaster

+0

J'ai déjà accepté ma réponse à ce sujet, donc vous ne devriez pas perdre plus de temps dessus, mais par exemple lorsque vous passez la souris sur "Item 4", "A4" devrait apparaître. – bmaster