我div
在页面上有一个容器 ( )。此容器具有滚动功能(由 提供overflow:auto; height:400px
)。
我不需要提供一个 URL,它会打开一个页面,这样主页面就不会滚动,但容器中的文本会滚动。
我试过www.mysite.com#position
了,但是通过这种方式,主页也会滚动(我需要,用户会看到屏幕顶部的标题,以及#position
容器顶部的“”位置)
问问题
1178 次
3 回答
2
这可以通过 javascript 实现。我将在这里展示一个 jQuery 示例。
if (window.location.hash == '#position') {
$('#containerDiv').animate({
scrollTop: $("#actual_position").offset().top
}, 2000);
}
actual_position
应该是滚动到的地方。position
应该只是在 url 而不是在页面上,以防止整个页面滚动。
于 2013-06-14T10:46:56.377 回答
0
您是否可以使用 css-properties: position:fixed, top:..., left:... 作为当用户滚动时应该留在您身边某个位置的元素。此外,您可以将所有不想滚动的内容放入 div 并定义 css-properties。
我希望这对您有所帮助。
于 2013-06-14T10:50:44.297 回答
0
Really it's an upgrading of Arjan answer (and now this really works).
As Arjan's suggestion the script will not work every time, but only by providing #scroll
in the end of url (www.mysite.com#scroll
). This script will scroll the container scroll bar to the #position
element, and the all document will stay.
jQuery(window).load(function(){
container_top = jQuery('#container').offset().top;
element_top = jQuery('#position').offset().top;
element_relative_top = element_top -container_top;
if (window.location.hash == '#scroll') {
jQuery('#container').animate({
scrollTop: element_relative_top
}, 2000);
}
})
于 2013-06-14T13:25:58.167 回答