JQuery Safari动画跳跃



这个导航概念在Chrome和Firefox中工作得很好,但在Safari中却非常不稳定。在正常运行之前,它似乎先在Safari中半动画。什么好主意吗?

<ul id="navigation">
    <a href="#"><li id="first"><span id="logo"></span><span class="navigation-text">Home</span></li></a>
    <a href="#"><li class="standard"><span class="gallery_icon"></span><span class="navigation-text">Gallery</span></li></a>
    <a href="#"><li class="standard"><span></span><span class="navigation-text">Gallery</span></li></a>
    <a href="#"><li class="standard"><span></span><span class="navigation-text">GalleryGallery123</span></li></a>
    <li id="last" class="standard"></li>
</ul>
<script type="text/javascript">
$(document).ready(function() {
    // On hover:
    $('#navigation li').hoverIntent(function () {
        width = $(this).children('span:nth-child(2)').width();
        text = $(this).children('span:nth-child(2)');          
        var newwidth = (width + 15) // Original width + 15px padding        
        text.filter(':not(:animated)').animate({"width":"0px"}, 0).show(); // Make the width 0px and make the element visible
        text.animate({"width":+newwidth+"px"}, 300); // Animate the width to the new size
    },
    function () {
        text.filter(':not(:animated)').animate({"width":"0px"}, 150); // Animate the width to 0px and hide the element
        text.animate({"width":+width+"px","float":"left"}, 0);
        setTimeout(function() {
            text.hide();
        },100);
    });
});
</script>

JSFiddle:

http://jsfiddle.net/7HWax/

结果显示Safari不喜欢将动画设置为0px。将0px更改为1px排序动画闪出:)

最新更新