我正在尝试滚动到滚动DIV中的特定位置.现在我使用jQuery scrollTop()函数的像素偏移量,它在桌面浏览器上运行良好,但除了谷歌的Chrome Android浏览器之外它在Android手机浏览器上不起作用(没有iOS设备来测试它是否有效).我找到的所有解决方案都是用于页面(窗口)滚动而不是用于在DIV中滚动,任何人都有任何关于我可以用来完成相同任务的建议吗?
这是一个例子:
http ://jsfiddle.net/aQpPc/
http://jsfiddle.net/aQpPc/embedded/result/
我试过的其他东西在桌面浏览器中工作:
document.getElementById('ID_of_element_in_a_DIV').scrollIntoView();
document.getElementById('ID_of_DIV').scrollTop = 200;
Run Code Online (Sandbox Code Playgroud)
编辑3/11/13:
这是一个知道Android浏览器问题:https://code.google.com/p/android/issues/detail?id = 19625
错误报告中的一位用户提出了一种解决方法:
因为只有在溢出属性设置为滚动时才会出现问题,您可以先将其设置为"隐藏",设置scrollTop属性,然后将其重置为"滚动"(或自动).使用滚动条重新呈现元素时,scrollTop属性似乎很荣幸.目前尚不清楚这是否有任何意想不到的副作用,但"它适用于我的机器!"
首先,我要指出,我GOOGLE了,甚至看了看这里像回答这个和这个,但是,我还是没有找到我的情况下工作的解决方案.
我设计了一个页面,其中有几个固定元素覆盖页面,并使html5/css3在主文档上创建一个干净的"蒙版",从而允许主体滚动条仍然滚动底层内容.
在firefox和ie(bleh)中,scrollTop(0)工作正常.但是,正如问题所述,在我喜欢的浏览器中并没有那么多.
我记下的一件事是在scrollTo事件之前和之后调用以下内容
$("body,html,document").each(function(){ console.log($(this).scrollTop()); });
Run Code Online (Sandbox Code Playgroud)
结果并不令人满意,它告诉我,scrolltop已经是0,因此甚至没有尝试使用scrollTop,或者至少那是我迄今为止"想到的".
在你问之前,我在这3个项目中的每个项目都进行了控制台调用,因为文档scrolltop应该被覆盖在其中一个项目中(我会想到身体,但是就像你必须调用html一样)
任何关于想法的人?
仅供参考,它可能是一个古怪的CSS(寿它是如何工作的IE浏览器,而不是铬我真的无法理解),但我已经尝试用下面的负面结果:
$(window).scrollTop(0);
$(document).scrollTop(0);
$("html").scrollTop(0);
$("body").scrollTop(0);
window.scroll(0,0);
$("body,html,document").scrollTop(0);
$("body,html").scrollTop(0);
Run Code Online (Sandbox Code Playgroud)
我想这扩展了我的问题,这是一个CSS问题吗?我没有外部链接,代码太长(用CI视图Partials制作)发布所有内容,但要澄清我做了什么:
临时小提琴不再起来