2013-06-25 2 views
0

J'ai commencé à écrire ma propre Jquery. Je suis au tout début à la minute et je m'entraîne à cacher des divs pour les rendre visibles à nouveau. Donc, au début, je me cache la div par Jquery dejQuery fly out div échoue

$(".hidden-div1").hide(); 
$(".hidden-div2").hide(); 

J'ai alors fait les années div de base et a suivi une Tut pour savoir comment utiliser slideToggle.

$("#show1").click(function() { 
    $(".hidden-div1").slideToggle("slow"); 
}); 

$("#show2").click(function() { 
    $(".hidden-div2").slideToggle("slow"); 
}); 

J'ai donc 2 liens sur la page et 2 div cachés. Ils fonctionnent bien et glisser et se cacher comme ils le devraient selon le slidetoggle.

Cependant, l'un des liens est à mi-chemin sur ma page. Quand il est cliqué, non seulement il glisse le div caché (comme il se doit), mais il saute tout en haut du site. Je dois ensuite faire défiler vers le bas pour voir la nouvelle div. Ma question est la suivante. Comment puis-je arrêter le saut en haut de la page en cliquant sur le lien? Je peux poster un lien vers le site si ma question n'a aucun sens.

Merci gerbeurs

+5

"J'ai commencé à écrire mon propre Jquery." - semble prometteur :) – Cherniv

+1

@cherniv lol rien de tel que de recommencer. appris "Bonjour tout le monde" la nuit dernière;) –

+1

Poster un violon afin que nous puissions voir ce que vous avez fait. – aiapatag

Répondre

1

Utilisez event.preventDefault() ou utilisez autre chose qu'un élément <a> pour le bouton. Vérifiez ceci: http://jsfiddle.net/balintbako/9rtvs/2/

$(document).ready(function() { 
    //hide some divs 
    $(".hidden-div1").hide(); 

    $("#show1").click(function (event) { 
     $(".hidden-div1").slideToggle("slow"); 
     event.preventDefault() 
    }); 
}); 
+0

Wicked @BalintBako qui fonctionne aussi. Merci encore pour votre aide à ce sujet. Maintenant, je comprends que vous devez d'abord écraser les actions par défaut de htmls ou essayer d'utiliser une autre balise à la place. Je vous remercie –

0

changement

< a href = "#" id = classe "show2" = "morelinkwhite"> En savoir plus </a>

à

< span id = "show2" class = "morelinkwhite"> Pour en savoir plus </span>

lorsque vous cliquez sur l encre aveC# il rafraîchit la page et saute vers le haut. Faites-le à tous les boutons "En savoir plus". J'espère que cela aide.

+0

merci qui a fonctionné. Je comprends maintenant ce qui n'allait pas. Je m'assure que j'empêche l'action par défaut ou ne pas utiliser les liens à partir de maintenant. Merci encore à tout le monde pour l'aide !!!! –