奇与jQuery动画宽度当“摇晃”的效果(仅适用于Chrome!)(Odd “shaking” ef

2019-07-30 17:45发布

我动画一个的宽度li在一个简单的代码片断使用jQuery元件。 我使用hover()作为处理函数和.animate()以动画的宽度。 这里是我的代码。

$('li').each(function() {
    //store the original width of the element in a variable
    var oldWidth = $(this).width();
    $(this).hover(
        function() {
            //when the mouse enters the element, animate width to 900px
            $(this).animate({width: '900px'}, 600, 'linear')
        },
    function() {
            //when the mouse leaves, animate back to the original width
            $(this).animate({width: oldWidth}, 350, 'linear')
        }
   );
}); 

该代码是真的很简单,用镀铬非常奇怪的怪癖的作品,但 。 当进出动画的元素,在li元素“换血”,好像他们真的寒冷并发抖。 你可以在这里看到一个活生生的例子行为: http://missmd.org/ (编辑:现在的错误是固定的)

我的动画一堆东西用jQuery之前从来没见过这种行为。 是否有它为什么发生任何解释,我怎样才能解决呢? 我不知道是否是因为我已经浮动元素的权利和我的动画到左边。 该缺陷是郁闷,并从整体上呈现了很多(至少对我来说)减损。 任何其他前看到了这一点?

编辑澄清:这不是实际的li元素“不寒而栗”这是从左至右非常快的动画运行的是轻微但显着摇摇内的文字。 我难倒。

编辑二:现在用CSS摆弄了一下后,我只能重现(对我来说21.0.1180.60的β-M)在Chrome的影响。 在Firefox它按预期工作。 它还在IE的伟大工程。 很讽刺的是,Chrome浏览器(通常是用这个东西大)现在给我找麻烦。 拉头发,检查理智

这是我的HTML帮助到这条底线。 我们转载ChrisFrancis'的jsfiddle问题。

<nav>
    <ul class="nav">
        <li class="one">
            <a href="homeandnews/">
                <span class="title">Home and News</span>
                <br/>
                <span class="subtitle">Learn more about me and read general updates!</span>
            </a>
        </li>
    </ul>
<nav>

我彻底难倒。 这也可能是在Chrome / V8 JS引擎中的错误和我们没有什么可以做的。

Answer 1:

我改变你的CSS: ul.nav li a ,增加float: right把它和固定抖动。

汽车:无论如何,如果有帮助,我有高度的另一格动画内一个div的高度时,有同样的问题。 改变高度的修复宽度解决它。

希望能帮助到你。



Answer 2:

我一直在寻找这个问题以及与此: -webkit-backface-visibility: hidden; 解决我的问题。 我在使用CSS3对SVG变换添加这个奇怪的晃动。

更多信息可以在这里找到: CSS3变换旋转导致铬1px的转变

希望能帮助到你



Answer 3:

这似乎是在Chrome版本21.0.1180.60一个错误,也可能存在于其他版本。 没有错,这里的代码,我想我们只是离开它的解决方法还是现在提交错误报告。

叹。



Answer 4:

有振荡SVGs时,有适用于父标签的CSS过渡类似的问题。 我尝试应用尽我所能随意,而这种修复最后帮助:

svg {
  transform: translate3d(0, 0, 0);
}


Answer 5:

发生了一些这个问题div当我试图在它动画另一个的div。 我注意到的是,它发生,如果DIV或元素具有CSS属性display:inline-block 。 将这个元素浮动将已经解决了这个问题,但inline-block在我的情况是必需的。

我注意到,该元素也有vertical-align:middle CSS属性。 它更改为vertical-align:text-bottom解决了这个问题。 没有更多的震动效果在Chrome V23(可能是bug在新版本仍然坚持)。



文章来源: Odd “shaking” effect when animating width with jQuery (only in Chrome!)