我有这段代码,其中goUp
是一个按钮,按下按钮时我想要滚动div1
:
$("#goUp").on('click', function(){
var offsetImg = $("#div1").offset();
window.scrollTo(0,offsetImg.top);
})
它工作正常,而且我已投入生产,但是当我使用Android时它不起作用,只是滚动到页面顶部(div1
标记不在网页的顶部)。但是如果我传递数字而不是第二个参数window.scrollTo(0,70);
,则有效。我无法使用Android进行开发测试,所以我想帮助找出问题。
我的第一个猜测是offsetImg.top
没有得到整数,但它应该。
也许我可以尝试parseInt(offsetImg.top)
,但这似乎没有任何意义。
在查看其他问题后,我发现这可能是渲染问题。但是,在加载所有内容时,在Ajax调用之前(scrollTo()
之后)调用e.preventDefault();
方法。 div1
的内容没有变化。
知道这里会发生什么事吗?
您可以尝试http://itransformer.es。如果附加图像,则在进行转换时,窗口应滚动到图像的顶部。
答案 0 :(得分:0)
未经测试(没有Android手机)但请尝试将window
替换为$(document)
,并使用scrollTop()
方法代替scrollTo()
:
$("#goUp").on('click', function(){
var offsetImg = $("#div1").offset();
$(document).scrollTop(offsetImg.top);
})