Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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 jQuery:有东西在拖延动画_Javascript_Jquery - Fatal编程技术网

Javascript jQuery:有东西在拖延动画

Javascript jQuery:有东西在拖延动画,javascript,jquery,Javascript,Jquery,什么使动画延迟? 网站上的所有jQuery都有某种延迟 $(function(){ $(window).scroll(function() { var elementTop = $('body').offset().top; var position = elementTop+ $(window).scrollTop(); if(position >= 20){ $('#top').animate({top: '40px

什么使动画延迟? 网站上的所有jQuery都有某种延迟

$(function(){
  $(window).scroll(function() {
       var elementTop = $('body').offset().top; 
       var position = elementTop+ $(window).scrollTop();
       if(position >= 20){
           $('#top').animate({top: '40px'}, 300);
       } else if(position < 20){
           $('#top').animate({top: '80px'}, 300);
       }
console.log(position);
  });   
});
$(函数(){
$(窗口)。滚动(函数(){
var elementTop=$('body').offset().top;
var position=elementTop+$(窗口).scrollTop();
如果(位置>=20){
$('#top')。动画({top:'40px'},300);
}否则,如果(位置<20){
$('#top')。动画({top:'80px'},300);
}
控制台日志(位置);
});   
});
现场:
-这是菜单/导航

每次滚动时都会触发代码。正在串联
animate
方法,一个接一个地运行。要实现所需效果,需要停止当前动画并启动新动画:

$(function(){
    $(window).scroll(function(){
        var elementTop = $('body').offset().top,
        position = elementTop+ $(window).scrollTop();

        if (position >= 20){
            $('#top').stop().animate({top: '40px'}, 300);
        }
        else if (position < 20) {
           $('#top').stop().animate({top: '80px'}, 300);
        }
    });   
});
$(函数(){
$(窗口)。滚动(函数(){
var elementTop=$('body').offset().top,
position=elementTop+$(窗口).scrollTop();
如果(位置>=20){
$('#top').stop().animate({top:'40px'},300);
}
否则,如果(位置<20){
$('#top').stop().animate({top:'80px'},300);
}
});   
});

每次滚动时都会触发代码。正在串联
animate
方法,一个接一个地运行。要实现所需效果,需要停止当前动画并启动新动画:

$(function(){
    $(window).scroll(function(){
        var elementTop = $('body').offset().top,
        position = elementTop+ $(window).scrollTop();

        if (position >= 20){
            $('#top').stop().animate({top: '40px'}, 300);
        }
        else if (position < 20) {
           $('#top').stop().animate({top: '80px'}, 300);
        }
    });   
});
$(函数(){
$(窗口)。滚动(函数(){
var elementTop=$('body').offset().top,
position=elementTop+$(窗口).scrollTop();
如果(位置>=20){
$('#top').stop().animate({top:'40px'},300);
}
否则,如果(位置<20){
$('#top').stop().animate({top:'80px'},300);
}
});   
});