jQuery响应时间慢

Zheng Wang

我尝试将jQuery用于标题动画,添加后动画会变慢:

else if (headeranimated && $(this).scrollTop() > 1200)
else if (headeranimated2 && headeranimated && $(this).scrollTop() < 1000)

我必须等待几秒钟的动画的第二部分。这段代码有什么问题吗?

谢谢

 // header animation
var headeranimated2 = false;
var headeranimated = false;
var headeranimated3 = false;

$(window).scroll(function() {
  if ($(window).width() > 800) {
    if (!headeranimated && $(this).scrollTop() > 500) {
      $('#headerpattern').animate({
        left: "-40%"
      }, 800);
      headeranimated = true;
    } else if (headeranimated && $(this).scrollTop() > 1200) {
      $('#headerpattern').animate({
        top: "-20%"
      }, 200);
      headeranimated2 = true;
    } else if (headeranimated2 && headeranimated && $(this).scrollTop() < 1000) {
      $('#headerpattern').animate({
        top: "0"
      }, 200);
      headeranimated2 = false;
      headeranimated3 = true
    } else if (headeranimated3 && !headeranimated2 && $(this).scrollTop() < 400) {
      $('#headerpattern').animate({
        left: "0"
      }, 800);
      headeranimated = false;
      headeranimated3 = false;
    }
  } else {
    if (!headeranimated && $(this).scrollTop() > 500) {
      $('#headerpattern').animate({
        top: "-8%"
      }, 1200);
      headeranimated = true;
    } else if (headeranimated && $(this).scrollTop() < 400) {
      $('#headerpattern').animate({
        top: "0"
      }, 800);
      headeranimated2 = false;
    }
  }
});

z

好吧..您正在调用滚动侦听器,该滚动侦听器在滚动时每次出现。但您也可以播放滚动缓慢的动画。当您通过滚动调用滚动侦听器时,会创建多个nimation调用,尝试一次全部播放(这就是为什么ui变慢的原因)。

解决方案:如果动画仍在播放-不要滚动

var animScroll;

$(window).scroll(function()
{
    if (animScroll) return;

    if ($(window).width() > 800)
    {       
       if (!headeranimated && $(this).scrollTop() > 500) 
       {
         animScroll = true;
         $('#headerpattern').animate({ left: "-40%"}, 800, function()
         {
            animScroll = false;
         });

         headeranimated = true;
     }

     // rest of code

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

CloudKit API的响应时间慢吗?

来自分类Dev

MongoDB查询响应时间慢

来自分类Dev

响应时间慢:Docker容器中的Laravel 5.2

来自分类Dev

服务响应时间慢:Java SecureRandom和/ dev / random

来自分类Dev

Firebase的addValueEventListener响应时间有点慢吗?

来自分类Dev

在iPad Form Sheet上,响应时间非常慢

来自分类Dev

慢的Azure工作人员角色响应时间

来自分类Dev

来自Azure表存储的响应时间慢

来自分类Dev

诊断AWS Application Load Balancer的响应时间慢

来自分类Dev

Rails Windows Vagrant的响应时间非常慢

来自分类Dev

NSXMLParser响应时间

来自分类Dev

测试响应时间

来自分类Dev

如何动态/响应时间更改jQuery datepicker的月数

来自分类Dev

为什么我的本地主机HTTP响应时间这么慢?

来自分类Dev

平均 90% 响应时间和平均响应时间

来自分类Dev

Web API响应时间

来自分类Dev

Python异步响应时间

来自分类Dev

推入Git的响应时间

来自分类Dev

Web API响应时间

来自分类Dev

Activemq降低响应时间

来自分类Dev

Bash响应时间太长

来自分类Dev

显示查询响应时间

来自分类Dev

API 管理 - 响应时间

来自分类Dev

jarvis 响应时间过长

来自分类Dev

jQuery在响应时重定向

来自分类Dev

使用Kibana绘制响应时间

来自分类Dev

Django网站的响应时间差异

来自分类Dev

Rails Windows Vagrant的响应时间很慢

来自分类Dev

Python请求衡量响应时间