Safari 7.0.3 animate ScrollTop div不工作?

我无法获得带有溢出的#div:滚动到动画并向下滚动到Safari 7.0.3中div的特定部分。

它在FF,Opera,Chrome中运行得很好,但由于某些原因我无法在Safari中使用它? 有人知道为什么以及如何解决这个问题? 我已经尝试将#menuContainer设置为相对定位,并且它的工作原理很糟糕。 它有时会工作,有时候不会。

CSS

#menu{
  position:absolute;
  display: block;
  right: 0;
}

#menuContainer{
   position:absolute;
   overflow: scroll;
   width: 350px;
   right: 0;
}

HTML

<div id="menu">
    <div id="menuContainer">
        <ul>
           <li></li>
           <li></li>
           <li>.....
        <ul>
    </div>
</div>

jQuery的

$("#menuContainer").animate({scrollTop: $("li:nth-child("+varJumpTo+")").offset().top}, 500);

好的,我找到了一个解决方案。

看起来在Safari中,最好在所有内容加载完毕后最好使用.animate()scollTop。 因此,围绕jQuery添加这个工作:

$(window).load(function(){
   $("#menuContainer").animate({scrollTop: $("li:nth-child("+varJumpTo+")").offset().top}, 500);
});

它的行为不可靠,因为在我们计算div offset()的top()位置之前,需要加载列表中的所有内容。

谢谢! 我希望这能帮助别人:D

链接地址: http://www.djcxy.com/p/23039.html

上一篇: Safari 7.0.3 animate ScrollTop div not working?

下一篇: CSS Animation not working on Chrome