【问题标题】:jQuery animate performance IEjQuery 动画性能 IE
【发布时间】:2012-06-04 08:20:13
【问题描述】:

我使用 jQuery animate 为轮播制作了一个简单的动画。我总是有 5 个容器,其中 3 个是可见的。制作动画时会添加一个新的并删除最后一个。 Firefox 和 Chrome 完全符合我的预期。在Internet Explorer中,容器位置被“scrollLeft”刷新的那一刻,内容“闪烁”,不知道是什么原因造成的。

这是标记:

<div id="wrapper">
    <div id="conti">
        <div id="_ID">
            <div class="section">0</div>
            <div class="section">1</div>
            <div class="section active">2</div>
            <div class="section">3</div>
            <div class="section">4</div>
        </div>
    </div>
<button id="prev">prev</button>
<button id="next">next</button>

这是脚本(点击下一步)

    var conti = $('#conti');
//set startposition of scrollbar (center) --> width of section
var teaserwidth = 60;
conti.scrollLeft(teaserwidth); 
var animating = false;
$('#next').click(function() {
    if(animating) return;
    animating = true;
    conti.animate({
        scrollLeft: 2*teaserwidth
    },     {
            complete: function() {
                conti.find('.section:last').after('<div style="background:red;" class="section">NF</div>');
              conti.scrollLeft(teaserwidth);
              conti.find('.section:first').remove();
              animating = false;
            }
        }
    );
});

我将新添加的内容涂成红色,以便更好地查看 IE 中的闪烁效果。 你也可以在JSFIDDLE上测试

你会改变/建议在 IE 中也有流畅的动画吗?

【问题讨论】:

    标签: jquery animation scroll jquery-animate


    【解决方案1】:

    每当我制作滑块时,我总是通过在 IE 中为左边距设置动画,在其他浏览器中为左边距设置动画,并在较新的浏览器中使用 CSS 转换。

    这似乎工作正常。

    【讨论】:

    • 嗨,Rich,感谢您的建议!我用 marginLeft 动画将脚本重建为这个脚本:JSFIDDLE 现在对于 IE 来说似乎很流畅,这很棒。但它在 Firefox (whoohoo) 中是“逆向”的。您认为有一种方法可以在不加载不同脚本的情况下针对两种浏览器进行优化吗??
    • 我也在普通浏览器中使用 CSS3 过渡,并且只在 IE9 及以下的旧版本中使用较旧的 javascript 动画技术。 css3.bradshawenterprises.com/slide2 向您展示如何在新浏览器中进行滑动。为了使它易于使用,请尝试我的垃圾但简单的代码:css3.bradshawenterprises.com/legacy,或者如果您已经在使用 jQuery,请直接输入playground.benbarnett.net/jquery-animate-enhanced
    猜你喜欢
    • 2014-12-13
    • 2011-01-10
    • 1970-01-01
    • 2011-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多