11544 sujets
Bonjour
Je voudrais qu'une image voit sa taille augmenter ou diminuer selon qu on scrolle dans le div où elle est contenu.
J'ai commencé avec ça :
Mais évidement l'animation demarre quand on arrive sur le DIV mais pas selon le scroll
Merci
Je voudrais qu'une image voit sa taille augmenter ou diminuer selon qu on scrolle dans le div où elle est contenu.
J'ai commencé avec ça :
$(document).ready(function () {
$(window).scroll(function () {
console.log($(this).scrollTop());
if ($(this).scrollTop() > 4089 && $(this).scrollTop() < 4551) {
$("#fleur").animate({
width: "100px", height: "100px" }, 3000, 'linear');
Mais évidement l'animation demarre quand on arrive sur le DIV mais pas selon le scroll
Merci
je t'ai fait un petit script de demo ici : http://jsfiddle.net/AFTef/272/
et le code en question :
et une autre version avec un volet qui s'ouvre au scrolldown : http://jsfiddle.net/AFTef/282/
Modifié par tazzkiller (28 Oct 2013 - 18:45)
et le code en question :
<style>
body {
height:1500px;
}
#myDiv {
position:absolute;
overflow:hidden;
left:0;
top:500px;
height:0px;
width:0px;
background-color:#458963;
color:#00f;
}
</style>
<div id="myDiv"><img src="http://www.cadeau-maestro.com/1847-7362-thickbox_default/recharge-plante-click-and-grow-.jpg" width="300" /></div>
<script>
$(function(){
$(window).on('scroll', function() {
var $myDiv = $('#myDiv');
var st = window.scrollY;
var $myDivTop = ($myDiv.position().top) - 300;
if ( st >= $myDivTop && st <= ($myDivTop + 300) ) {
$myDiv.animate({'width':+(st-$myDivTop)+'px','height':+(st-$myDivTop)+'px' }, 10);
}
else if (st <= $myDivTop) {
$myDiv.animate({'width':'0px','height':'0px' }, 10);
}
else if (st >= ($myDivTop + 300) ) {
$myDiv.animate({'width':'300px','height':'300px' }, 10);
}
})
.scroll();
})
</script>
et une autre version avec un volet qui s'ouvre au scrolldown : http://jsfiddle.net/AFTef/282/
Modifié par tazzkiller (28 Oct 2013 - 18:45)
Bonjour,
Merci pour ton script
Ceci dit il me semble que c'est le div qui est resizé (?)
Du coup j'ai modifié comme ceci :
Ca m'a l'air très bien...plus qu'a bien comprendre le script
Merci bcp !!!
Modifié par mezoo (28 Oct 2013 - 19:23)
Merci pour ton script
Ceci dit il me semble que c'est le div qui est resizé (?)
Du coup j'ai modifié comme ceci :
<img id="myDiv" src="http://www.cadeau-maestro.com/1847-7362-thickbox_default/recharge-plante-click-and-grow-.jpg" width="300" />
Ca m'a l'air très bien...plus qu'a bien comprendre le script

Merci bcp !!!
Modifié par mezoo (28 Oct 2013 - 19:23)
Grace à ton script voici ce que j'ai pu faire :
Modifié par mezoo (30 Oct 2013 - 00:13)
$(function(){
$(window).on('scroll', function() {
var $myDiv = $('#myDiv');
var st = window.scrollY;
var $myDivTop = ($myDiv.position().top)-300;
var $size = 300+($myDivTop-st);
if ( st >= $myDivTop && st <= ($myDivTop + 300)) {
$myDiv.stop().animate({'width':+$size+'px','height':+$size+'px' }, 10);
}
})
.scroll();
})
Modifié par mezoo (30 Oct 2013 - 00:13)