2010-09-08 4 views
0

J'ai un extrait de javascript (jquery) qui est un lien vers un href = "#" pour basculer le clic .. tout va bien sauf quand je clique autour de la page est en arrière toute scrooled ... Je préfère la page de rester là où il est ... return false rien fait ...saut de page sur clic après l'exécution de javascript

est le code ici:

<script type="text/javascript"> 
jQuery(document).ready(function(){ 
    jQuery('#social li').click(function(){ 
    button = jQuery(this).attr('class'); 
    switch (button) 
    { 
    case 'social1' : 
    jQuery('#facebookbox').show(); 
    jQuery('#twitterbox').hide(); 
    jQuery('.social1 a').addClass('selected'); 
    jQuery('.social2 a').removeClass('selected'); 
    break; 

    case 'social2' : 
    jQuery('#facebookbox').hide(); 
    jQuery('#twitterbox').show(); 
    jQuery('.social2 a').addClass('selected'); 
    jQuery('.social1 a').removeClass('selected'); 
    break; 
    } 
    }); 
}); 
</script> 
+1

'href =" # "' liens vers le haut de la page, donc naturellement, il fait défiler la page tout le chemin. Cependant, retourner false à partir du gestionnaire onclick devrait empêcher le navigateur de suivre réellement le lien. Peut-être poster du code? – tdammers

Répondre

2

faire un lien vers une ancre inexistante, comme href = "#_"

+0

cela fonctionne! .... ne savait pas que l'un – menardmam

0

Vous pouvez définir href comme href = "javascript: void (0)". Cela devrait l'empêcher de sauter. Assurez-vous de retourner false dans l'événement onclick sinon vous risquez d'avoir des problèmes avec IE6.

+0

je ne savais pas où mettre retour faux; J'ai essayé quelque chose ... Je n'ai pas travaillé – menardmam

+0

Votre lien ressemblerait à ceci: Hello world. EDIT: Désolé, je viens de remarquer que vous le faites différemment. Mettez "return false" à la fin de la fonction de clic anonyme. jQuery pourrait déjà gérer cela pour vous, je ne suis pas sûr à 100%. Dans votre exemple, le code "return false" viendrait après votre instruction switch. – Liggi