Bonjour,
Je vais essayé d'expliquer clairement mon problème.
J'ai 3 images, chacune d'elle permet d'ouvrir une div cachée.
Quand une div s'ouvre, les autres se ferment (afin qu'il n'y ait pas 36 div ouvertes en même temps).
Lors de l'apparition de la div cachée, je veux que ça scrolle jusqu'au titre de la div.
SOUCIS : lorsque la div 1 est déjà affichée et que je clique sur la 2ème image pour faire apparaître la div 2, ça descend 2x trop bas (au lieu de scroller seulement jusqu'au titre) et je n'arrive pas à empêcher ça...
Voici mon code :
Si vous avez une solution, merci de donner des détails (je ne suis qu'une débutante
)
N'hésitez pas à demander + de précisions s'il le faut !
Modifié par AML (16 Dec 2013 - 15:27)
Je vais essayé d'expliquer clairement mon problème.
J'ai 3 images, chacune d'elle permet d'ouvrir une div cachée.
Quand une div s'ouvre, les autres se ferment (afin qu'il n'y ait pas 36 div ouvertes en même temps).
Lors de l'apparition de la div cachée, je veux que ça scrolle jusqu'au titre de la div.
SOUCIS : lorsque la div 1 est déjà affichée et que je clique sur la 2ème image pour faire apparaître la div 2, ça descend 2x trop bas (au lieu de scroller seulement jusqu'au titre) et je n'arrive pas à empêcher ça...
Voici mon code :
<!--images cliquables-->
<a href="#expli01" id="01">image01</a>
<a href="#expli02" id="02">image02</a>
<a href="#expli03" id="03">image03</a>
<!--div cachées qui apparaissent lors du clic sur une image-->
<div style="display:none;" id="expli01">texte d'explication</div>
<div style="display:none;" id="expli02">texte d'explication</div>
<div style="display:none;" id="expli03">texte d'explication</div>
$(document).ready(function(){
$('#01').click(function() {
$('#expli01').slideDown(1000);
$('html, body').animate({
scrollTop: $("#expli01").offset().top
}, 1000);
$('#expli02').slideUp();
$('#expli03').slideUp();
return false;
});
$('#02').click(function() {
$('#expli02').slideDown(1000);
$('html, body').animate({
scrollTop: $("#expli02").offset().top
}, 1000);
$('#expli01').slideUp();
$('#expli03').slideUp();
return false;
});
$('#03').click(function() {
$('#expli03').slideDown(1000);
$('html, body').animate({
scrollTop: $("#expli03").offset().top
}, 1000);
$('#expli01').slideUp();
$('#expli02').slideUp();
return false;
});
});
</script>
Si vous avez une solution, merci de donner des détails (je ne suis qu'une débutante

N'hésitez pas à demander + de précisions s'il le faut !
Modifié par AML (16 Dec 2013 - 15:27)