0

我有这段代码,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),但这里似乎没有意义。

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

知道这里会发生什么吗?

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

4

1 回答 1

0

未经测试(没有 Android 手机),但尝试替换window$(document)使用scrollTop()方法而不是scrollTo()

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

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

于 2013-10-21T18:38:46.730 回答