移动Safari - 滚动到元素

时间:2014-03-04 14:44:34

标签: javascript jquery mobile-safari

此问题仅适用于移动版Safari。

在我的网站上,我有评论,我的产品顶部有评论明星。当用户点击评论星时,我希望屏幕向下滚动到产品的评论。在Android和桌面上,页面滚动为例外,但在iOS上它只是闪烁并保持在同一位置。

以下是代码:

$('html, body').animate({
    scrollTop: $("#reviews").offset().top,
    scrollLeft: 0
}, 400);

这是一个证明问题的jsbin。

http://jsbin.com/losuz/3/

由于

2 个答案:

答案 0 :(得分:7)

我确实找到了问题的正确答案,scrollLeft在iOS中引发了问题。

$('html, body').animate({
    scrollTop: $("#reviews").offset().top
}, 400);

这可以在http://jsbin.com/losuz/6/中进行测试。

为了进行比较,您可以在此处看到Oscar Paz答案中建议的功能:http://jsbin.com/losuz/5/

我更喜欢动画以获得幻灯片的流畅度,但奥斯卡的答案也是有效的。

答案 1 :(得分:2)

您是否尝试过 scrollIntoView

$('#reviews')[0].scrollIntoView();