Jquery 使两个div反向移动
对不起,我想我问了这么一个愚蠢的问题。如果有人知道如何在这样滚动时使div上下动画,请帮助我: 你可以在网站的页脚附近看到,它有两个部分,每个部分包含两个图像(一个大一个小,一个在前面,另一个在后面)。我想知道,当我在网站上下滚动时,如何制作2个div,并使它们有一点上下动画(比如parrallax)Jquery 使两个div反向移动,jquery,html,css,Jquery,Html,Css,对不起,我想我问了这么一个愚蠢的问题。如果有人知道如何在这样滚动时使div上下动画,请帮助我: 你可以在网站的页脚附近看到,它有两个部分,每个部分包含两个图像(一个大一个小,一个在前面,另一个在后面)。我想知道,当我在网站上下滚动时,如何制作2个div,并使它们有一点上下动画(比如parrallax) 谢谢。我看到的解决此类问题的大多数解决方案都涉及某种JS,并收听用户的滚动事件 我使用JQuery编写了一个非常简单的示例。在这里,javascript会在滚动发生时监听,并测量页面顶部的滚动距离
谢谢。我看到的解决此类问题的大多数解决方案都涉及某种JS,并收听用户的滚动事件 我使用JQuery编写了一个非常简单的示例。在这里,javascript会在滚动发生时监听,并测量页面顶部的滚动距离。然后,它获取该值并将其乘以每个图像的不同值,然后使用
边距顶部
以不同的速率向下推送图像
如果图像像你的例子中那样在页面的下方,我建议从不同于页面顶部的位置进行测量。JSfiddle here:您必须根据滚动更改css位置属性。所以你必须做如下的事情。在该页边距中,第二个div标记的顶部已更改。 Javascript代码如下所示
<script type="text/javascript">
var lastScrollTop = 0;
$(window).bind('scroll',function(e){
var st = $(window).scrollTop();
var cs = $(this).scrollTop();
var wh = $( window ).height();
var dv1 = $('#div1').offset().top;
var dv2 = $('#div2').offset().top;
var visible_dv1= dv1 - wh;
//check wether div1 is in the viewport when scroll down
if(st > visible_dv1){
if(cs > lastScrollTop){
//if scroll down
$('#div2').css({
'margin-top': "-=3"
});
}else{
//if scroll up
$('#div2').css({
'margin-top': "+=3"
});
}
}else{
$('#div1').removeAttr('style');
$('#div2').removeAttr('style');
}
lastScrollTop = cs;
});
</script>
<style>
.container{width:100%;}
.grid{font-size:22px; width:168px; height:168px; display:block; }
#div1{background:#C30;margin-top:1000px;float:none;position:relative;z-index:1000;}
#div2{background:#6C3;margin-top:-100px;margin-left:50px;float:none;}
</style>
</head>
<body>
<div class="container">
<div class="grid" id="div1">
div 1
</div>
<div class="grid" id="div2">
div 2
</div>
</div>
</body>
var lastScrollTop=0;
$(窗口).bind('scroll',函数(e){
var st=$(window.scrollTop();
var cs=$(this.scrollTop();
var wh=$(window.height();
var dv1=$('#div1').offset().top;
var dv2=$('#div2').offset().top;
var visible_dv1=dv1-wh;
//向下滚动时,检查div1是否在视口中
如果(st>visible_dv1){
如果(cs>lastScrollTop){
//如果向下滚动
$('#div2').css({
“页边距顶部”:“-=3”
});
}否则{
//如果向上滚动
$('#div2').css({
“页边距顶部”:“+=3”
});
}
}否则{
$(“#div1”).removeAttr('style');
$(“#div2”).removeAttr('style');
}
lastScrollTop=cs;
});
html和css将如下所示
<script type="text/javascript">
var lastScrollTop = 0;
$(window).bind('scroll',function(e){
var st = $(window).scrollTop();
var cs = $(this).scrollTop();
var wh = $( window ).height();
var dv1 = $('#div1').offset().top;
var dv2 = $('#div2').offset().top;
var visible_dv1= dv1 - wh;
//check wether div1 is in the viewport when scroll down
if(st > visible_dv1){
if(cs > lastScrollTop){
//if scroll down
$('#div2').css({
'margin-top': "-=3"
});
}else{
//if scroll up
$('#div2').css({
'margin-top': "+=3"
});
}
}else{
$('#div1').removeAttr('style');
$('#div2').removeAttr('style');
}
lastScrollTop = cs;
});
</script>
<style>
.container{width:100%;}
.grid{font-size:22px; width:168px; height:168px; display:block; }
#div1{background:#C30;margin-top:1000px;float:none;position:relative;z-index:1000;}
#div2{background:#6C3;margin-top:-100px;margin-left:50px;float:none;}
</style>
</head>
<body>
<div class="container">
<div class="grid" id="div1">
div 1
</div>
<div class="grid" id="div2">
div 2
</div>
</div>
</body>
.container{宽度:100%;}
.grid{字体大小:22px;宽度:168px;高度:168px;显示:块;}
#div1{background:#C30;边距顶部:1000px;float:none;position:relative;z-index:1000;}
#div2{背景:#6C3;页边距顶部:-100px;页边距左侧:50px;浮点:无;}
第一组
第2组
您必须共享必要的代码,才能在问题本身中重新创建问题