Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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
如何使用jQuery动画返回到位置_Jquery - Fatal编程技术网

如何使用jQuery动画返回到位置

如何使用jQuery动画返回到位置,jquery,Jquery,我有下面的代码,如果我只使用第一个if语句,它将按预期工作。添加else if语句会使元素在两个函数中都无法正常运行 目标是当窗口的大小调整到某个点以下时,将其动画设置到某个位置。如果窗口的大小调整得更大,则应返回到起始位置 var logoPosition = $('.akc-logo').position(); console.log(logoPosition); $(window).resize(function display(){ console.log($(window).w

我有下面的代码,如果我只使用第一个if语句,它将按预期工作。添加else if语句会使元素在两个函数中都无法正常运行

目标是当窗口的大小调整到某个点以下时,将其动画设置到某个位置。如果窗口的大小调整得更大,则应返回到起始位置

var logoPosition = $('.akc-logo').position();
console.log(logoPosition);

$(window).resize(function display(){
   console.log($(window).width());
      if($(window).width()<991){
         $('.akc-logo').animate({left: '20em'}, 1000);
      }else if($(window).width()>991){
         $('.akc-logo').animate({top: logoPosition.top, left: logoPosition.left}, 1000);
      }
});

您的问题可能与动画队列有关。由于调整大小事件可能以很高的速率触发,因此许多动画可能会排队。动画将按其排队的顺序执行,可能需要一段时间才能看到适合当前窗口大小的动画

在我的示例中,我添加了jQuery,以便在启动另一个动画之前取消当前动画

注意:使用完整页面链接测试窗口大小调整

变量logoPosition=$'.akc logo'.position, 阈值=500; $window.resizefunction{ 如果$window.width<阈值{ $'.akc徽标'.stop.animate{ 左:“20em” }, 1000; }否则{ $'.akc徽标'.stop.animate{ top:logoPosition.top, 左:logosposition.left }, 1000; } }; 分区akc-logo{ 位置:绝对位置; 顶部:50px; 左:50px; 宽度:50px; 高度:50px; 背景色:黑色; }
具体出了什么问题?是否可以创建一个工作示例,作为或在?@showdev我无法发送一个工作示例,但是当窗口大小调整到991px以下,并且我有两个if语句时,徽标会不规则地向下移动到错误的位置。如果我没有第二个If语句,它将正确地移动到预定位置。我的目标是当窗口的大小变大时,使其返回到原始位置