2010-03-28 7 views
1

J'ai un menu avec sept éléments. Si vous cliquez sur le premier élément, div un montre. Si vous cliquez sur un autre élément (2 à 7) div deux spectacles. C'est ce que je cherche à faire.Besoin d'aide avec onClick et un problème if/else

Je suis nouveau à tout cela mais je suis assez sûr que c'est une fonction if/else, de sorte que si je clique sur <a id="1">, montre le premier div, sinon montre le second div. Je suppose que je peux faire une cache/show pour revenir à la première div.

Je vais continuer à fouiner, mais si je ne peux pas le trouver, toute aide est sûrement appréciée.

<div id="one"> 
Div contents (has a jquery slider in it) 
</div> 
<div id="two"> 
Div contents (contents chosen by user from menu items, below) 
</div> 
<!--menu--> 
<a href="#" id="first_panel"><!--has slider controlled within div--> 

<a href"#" id="data_part_one">&nbsp;</a> 
<a href"#" id="data_part_two">&nbsp;</a> 
<a href"#" id="data_part_three">&nbsp;</a> 
... 
<a href"#" id="data_part_six">&nbsp;</a> 

Lorsque les données des éléments de menu deux à sept apparaîtront dans la division deux.


Je l'ai eu pour travailler avec le code ci-dessous. Si c'est moche, montre-moi l'erreur de mes manières et je te remercierai.

$("#thumbs a").click(function() { 
     if ($("#t0").is("")) { 
     $("#open_panel").show(); 
     } 
     else 
     { 
     $("#open_panel").hide(); 
     $("#res_panel").show(); 
     } 
    }); 

    $('#t0').click(function() { 
     $('#open_panel').show(); 
     $('#res_panel').hide(); 
    }); 
+3

Quelle langue de programmation/environnement? –

+0

Désolé, jQuery/js – Adam

+0

@Paul c'est marqué comme JavaScript. –

Répondre

4

Essayez ceci:

$('a').not('#link_id1').click(function(e) { 
    $('#div_2').show(); 
    e.preventDefault(); 
}).end().filter('#link_id1').click(function(e) { 
    $('#div_1').show(); 
    e.preventDefault(); 
}); 

Ou:

$('a').click(function(e) { 
    if($(this).attr('id') == 'link_id1') { 
     $('#div_1').show(); 
    } else { 
     $('#div_2').show(); 
    } 
    e.preventDefault(); 
}); 
+1

N'oubliez pas d'annuler l'événement, sinon les * deux * gestionnaires seront déclenchés quand il cliquera sur le premier 'li'. (Notez également qu'il a indiqué qu'il utilisait 'a', pas' li', mais j'espère qu'il peut généraliser - puisqu'il n'a pas publié de balisage!) –

+0

@ T.J Merci! :) –

+0

D'accord, je l'ai eu pour travailler avec if/else. C'est probablement faux car tout le monde s'en sort, et peut-être que vous pouvez jeter un oeil pour voir si c'est le cas. Je vais modifier le post original. Je suis sur le point de publier un autre problème. – Adam

Questions connexes