如果页面变得比当前滚动位置(bootstrap + jquery)短,则向上滚动

时间:2013-10-14 18:32:12

标签: javascript jquery html css twitter-bootstrap

解决此问题的最佳方法是什么?:

我有一个列表,其中包含您可以单击的名称。单击名称时,列表将消失,并显示有关该名称的信息。但是,该列表通常比信息长,因此如果单击列表底部的名称...列表将替换为信息(因此页面会变短)。但是,Chrome(在OS X 10.8上)保持当前滚动位置,即使滚动条已缩小...因此用户只会看到灰色屏幕(因为该页面不再向下移动)。

非常感谢任何帮助!如果需要,我可以澄清这个问题:)

编辑:我以前曾尝试过AwokeKnowing建议的内容,但这不是一个很好的选择,因为如果添加的内容已经在视口中滚动到顶部会有一种“生涩”的感觉。您已经可以看到它被添加了,那么为什么要调整滚动呢?需要有一种方法来测试内容在视口中是否可见。

$("button").click(function(){
   alert($("div").scrollTop());
});

此外,AwokeKnowing还表示这可能只是一个浏览器错误。如果是这样的话,有解决方法吗?

编辑2:更多细节,名称是引导标签窗格中的链接列表(<a href="#">),点击它们会创建一个新的标签窗格并切换到它。问题是新创建的窗格明显短于包含列表的窗格。切换到较短的窗格会产生不需要的行为。

1 个答案:

答案 0 :(得分:1)

使用jquery,您可以滚动到任何元素,所以只需在处理单击时滚动顶部的

$("button").click(function(){
   alert($("div").scrollTop());
});