Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 滚动div时延迟动画_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 滚动div时延迟动画

Javascript 滚动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)

我有一个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)。设置动画({
顶部:滚动顶部<原始
? 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; 
}