2012-03-06 35 views
6

我正在页面上的底部坐着一个元素,通过点击它进行激活。该元素随即展开(即时)高度以显示其内容。这是通过向该元素添加一个带有jQuery的类(“.active”)完成的。jQuery addClass导致窗口在Android和iPhone上滚动回到顶部

事情.active真的增加了一个显示块和一些高度。但是,每次点击它时,浏览器都会跳回顶部。如果我在javascript中注释掉addClass部分,则表现正常。

仅供参考,锚标签没有“href =#”。

+0

如果你尝试以不同的方式加入类?像setattribute或如此 – 2012-03-06 12:24:48

+0

同样的事情发生!我认为这可能是一些渲染问题。 – Kasper 2012-03-06 12:29:41

+0

你确认了你的风格/类没有错?如果静态地将该类分配给元素会发生什么?分配类,并使用css属性动态显示/隐藏元素。它是否会产生相同的行为? – Nilesh 2012-03-06 12:52:19

回答

0

作为一个临时的解决办法,你可以在每次点击的时候把屏幕回原来的位置..

$('.troublemaker').click(function(e){ 
    var currentScroll = $(document).scrollTop(); 
    setTimeout(function(){ $(document).scrollTop(currentScroll); }, 10); 
});