【问题标题】:jQuery: slow 'Webkit' performance - function .hoverjQuery:缓慢的“Webkit”性能 - 函数 .hover
【发布时间】:2010-10-17 23:38:31
【问题描述】:

嘿。我试图让这个脚本在 webkit(Safari、Chrome、最新版本)中顺利运行。它在 Firefox 中运行得非常好。此代码在 document.ready 函数中调用:

$('#noScript').remove();  
$("#content div.wrapper, #top div.wrapper").hide().stop().fadeIn({duration: 2000, queue: true });

$('#social a')
.children('span').hide()
.next('img').css('opacity', '0.4')
.parent().hover(function(){
    $(this).children('img').animate({ opacity : 0.99}, {duration: 100, queue: false })
    .prev('span').fadeIn({duration: 200, queue: false });
}, function(){
    $(this).children('img').stop().css({ opacity : 0.4})
    .prev('span').hide();
});

$('#language').css({opacity: '0.5'}).hover(function() { 
    $(this).animate({ opacity : 0.99}, {duration: 'fast', queue: false }) 
}, function(){ 
    $(this).animate({ opacity : 0.5}, {duration: 'fast', queue: false }); 
});

将鼠标悬停在所选项目上会触发非常缓慢的动画。你可以在这里看到一个活生生的例子:trinkaus.cc

有人知道为什么会这样吗? 亲切的问候 萨沙

【问题讨论】:

    标签: jquery performance webkit hover


    【解决方案1】:

    在 Google Chrome 6.0.472.63 和 IE 8 中似乎没问题,没有机会在 Safari 中测试它。也许清除你的缓存之类的?

    【讨论】:

    • 哦,既然你运行的是IE8,看来你已经在Windows上测试过Chrome了。我必须指出,我目前只是在 OSX 下进行测试。我已经多次清除缓存。我认为 webkit/osx 或我的脚本确实存在一些问题:/
    • 我认为它是您使用的浏览器的最新版本?我会玩一玩,看看我能不能复制这个问题。
    • 好吧,试了一下:IE 8,7,6。 Chrome 6。Firefox 4、3.6、3.5、3、2。Safari 5、4、3。 Opera 10。一切正常,甚至 IE 6!
    • 我必须习惯这个评论系统在按下回车键时发送每一条评论。所以你没有遇到任何滞后?
    • 我相信当第一次加载 Firefox 3,2 和 IE 7 时会有轻微的延迟。但之后就好了。你的 CSS 太疯狂了,所以这可能是个问题。你不应该真的需要 webkit 来改变不透明度,除非你用它来做别的事情?尝试删除所有 CSS,然后看看会发生什么。
    【解决方案2】:

    哇,我想我必须回答我自己的问题。 #top div 上的嵌入阴影是影响 JS 性能的原因。

    【讨论】:

      猜你喜欢
      • 2010-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-14
      • 2015-01-27
      • 2021-06-04
      • 2016-11-09
      • 2021-06-21
      相关资源
      最近更新 更多