Javascript 滚动div时延迟动画
我有一个div,当我滚动时它是浮动的。但在这个div中,我有其他div,我希望这些div比父div晚一点出现 HTMLJavascript 滚动div时延迟动画,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个div,当我滚动时它是浮动的。但在这个div中,我有其他div,我希望这些div比父div晚一点出现 HTML JS (函数($){ 变量元素=$('.left zone'), originalY=element.offset().top; var topMargin=50; css('position','relative'); $(窗口).on('scroll',函数(事件){ var scrollTop=$(窗口).scrollTop(); 元素。停止(false,false)
JS
(函数($){
变量元素=$('.left zone'),
originalY=element.offset().top;
var topMargin=50;
css('position','relative');
$(窗口).on('scroll',函数(事件){
var scrollTop=$(窗口).scrollTop();
元素。停止(false,false)。设置动画({
顶部:滚动顶部<原始
? 0
:滚动顶部-原始+顶部边距
});
});
})(jQuery);
您可以通过调用“disableScroll”功能停止滚动,并通过“enableScroll”重新启用
并使用自定义动画更改滚动。我认为最简单的方法是:
var lZone=$('.left zone');
$(窗口).on('scroll',function(){
css('margin-top',$(document.scrollTop()+100);
});代码>
。左侧区域{
位置:绝对位置;
边缘顶部:100px;
过渡:全部,0.35s;
}
div>div{
宽度:75px;
高度:75px;
边框:1px纯黑;
保证金:5px;
}
.left zone>div:first child{background:#FF0}
.left zone>div:n子(2n+3){背景:#CCC}
身体{
高度:6000px;
}
“那些div稍后会出现”。。。请解释。在我滚动时创建延迟。所以盒子是第一位的,然后里面的元素在第二位之后,这就是我的代码所做的。但是我希望里面的元素比父div晚一点出现
<div class="left-zone col-sm-2">
<div class="bag"></div>
<div class="makeup"></div>
<div class="karate"></div>
<div class="scooter"></div>
<div class="shoe"></div>
<div class="armbands"></div>
<div class="googles"></div>
</div>
(function($) {
var element = $('.left-zone'),
originalY = element.offset().top;
var topMargin = 50;
element.css('position', 'relative');
$(window).on('scroll', function(event) {
var scrollTop = $(window).scrollTop();
element.stop(false, false).animate({
top: scrollTop < originalY
? 0
: scrollTop - originalY + topMargin
});
});
})(jQuery);
function preventDefault(e) {
e = e || window.event;
if (e.preventDefault)
e.preventDefault();
e.returnValue = false;
}
function disableScroll()
window.addEventListener('DOMMouseScroll', preventDefault, false);
window.onwheel = preventDefault; // modern standard
window.onmousewheel = document.onmousewheel = preventDefault; // older browsers, IE
window.ontouchmove = preventDefault; // mobile
}
function enableScroll() {
if (window.removeEventListener)
window.removeEventListener('DOMMouseScroll', preventDefault, false);
window.onmousewheel = document.onmousewheel = null;
window.onwheel = null;
window.ontouchmove = null;
}