Bonjour Bonjour,

je viens de mettre en place l'effet "toggle" de la bibliothèque jQuery sur mon site.

Rien d'exceptionnel, j'ai assigné l'effet à un lien qui déplie une div quand on clic dessus

Tout fonctionne bien, mais le problème c'est que dès que clic sur le lien qui déclenche l'effet, je me retrouve en haut de ma page...

L'élément s'est bien déplié, mais comme il est vers le milieu de la page, il faut scroller vers le bas pour le voir... Smiley sweatdrop

Comment faut-il faire pour que la div se déplie, sans que la page ne bouge... ? Smiley langue

Merci d'avance !!!!
Modifié par Damien_D (26 Aug 2010 - 09:59)
Hello,

comme tu utilises un lien il y a redirection (je suppose que tu as mis # dans le href donc vers le haut de la page en cours). Donc soit tu bloques l'action du lien avec un return false; après le toggle, soit tu utilises un autre élément qu'un lien.
Bonjour,

j'ai le même genre de soucis avec une lightbox appelée par un lien # et un onclick


<a  class="no_dec" href="#" onclick="document.getElementById('filter').style.display='block';
document.getElementById('box').style.display='block'\"><img src="images_thumb.jpg" /></a>


Où peut-on rajouter return false ?
Où comment faire pour rester sur le même endroit de la page sans retourner tout-en-haut ?
Victoire ! Smiley biggol

J'ai rajouté un "return false" dans mon script jQuery, et plus rien ne bouge.

Je vais me plonger un peu plus dans les bases de jQuery... Ca peut toujours servir Smiley langue

En tout cas, merci bcp !
xlebiterrois,

je sais pas si ca peut t'aider, mais voici mon script avant et après l'intervention de Heyoan:

Avant:
<script type="text/javascript">
$(document).ready(function(){

$(".toggle_container").hide();

$("a").click(function(){
$(this).next().slideToggle("medium");
});

});
</script>

Après:

<script type="text/javascript">
$(document).ready(function(){

$(".toggle_container").hide();

$("a").click(function(){
$(this).next().slideToggle("medium");
return false;
});

});
</script>

Il fallait juste ajouter le "return false" à la fin du script.

Je n'ai pas utilisé la propriété "on clic" du lien, j'ai fait ça directement dans mon script ("a").click(function()

Je suis débutant en js, donc je vais pas pouvoir faire grand chose de plus...
Bonjour,

Merci Damien_D, je suis aussi débutant en js et j'aurai tendance à l'éviter au maximum pour n'utiliser que des CSS (où je suis débutant aussi, mais je travaille à l'être moins).
Je vais donc essayer de faire comme toi, passer par une fonction js pour y mettre ce return false

Merci