添加参数时,scrollTo()方法无法与Android一起使用

时间:2013-10-21 18:34:55

标签: android jquery html scroll

我有这段代码,其中goUp是一个按钮,按下按钮时我想要滚动div1

$("#goUp").on('click', function(){
var offsetImg = $("#div1").offset(); 
    window.scrollTo(0,offsetImg.top);
})

http://jsfiddle.net/QSJZw/1/

它工作正常,而且我已投入生产,但是当我使用Android时它不起作用,只是滚动到页面顶部(div1标记不在网页的顶部)。但是如果我传递数字而不是第二个参数window.scrollTo(0,70);,则有效。我无法使用Android进行开发测试,所以我想帮助找出问题。

我的第一个猜测是offsetImg.top没有得到整数,但它应该。 也许我可以尝试parseInt(offsetImg.top),但这似乎没有任何意义。

在查看其他问题后,我发现这可能是渲染问题。但是,在加载所有内容时,在Ajax调用之前(scrollTo()之后)调用e.preventDefault();方法。 div1的内容没有变化。

知道这里会发生什么事吗?

您可以尝试http://itransformer.es。如果附加图像,则在进行转换时,窗口应滚动到图像的顶部。

1 个答案:

答案 0 :(得分:0)

未经测试(没有Android手机)但请尝试将window替换为$(document),并使用scrollTop()方法代替scrollTo()

$("#goUp").on('click', function(){
    var offsetImg = $("#div1").offset(); 
    $(document).scrollTop(offsetImg.top);
})

示例:http://jsfiddle.net/QSJZw/3/