如何使用jQuery在移动Web浏览器上滚动动画?

时间:2013-08-28 08:57:55

标签: javascript jquery html mobile mobile-browser

我不想实现的是按下按钮时滚动到某个位置的页面。我在Chrome和IE等浏览器上工作,但似乎无法在任何移动浏览器上运行。

这是我使用的代码:

$("#programmaMenu").on("click", "div", function(event){
        event.preventDefault();
        $('html').stop().animate({
            scrollTop: $("#"+$(this).attr("rel")).position().top - 120
        }, 500, 'swing');
});

事件触发,只有滚动不会发生。

2 个答案:

答案 0 :(得分:5)

感谢用户vohuman,这就是答案:

显然,移动浏览器会滚动body元素,桌面浏览器会滚动html元素。因此,问题的解决方案是选择元素'html'和'body',如下所示:

$("#programmaMenu").on("click", "div", function(event){
        event.preventDefault();
        $('html, body').stop().animate({
            scrollTop: $("#"+$(this).attr("rel")).position().top - 120
        }, 500, 'swing');
});

答案 1 :(得分:0)

使用此功能并尝试

    $(document).on("click", "#programmaMenu", function(event){
    event.preventDefault();
    $('html').stop().animate({
        scrollTop: $("#"+$(this).attr("rel")).position().top - 120
    }, 500, 'swing');
    });