我在页面上有一个容器(div
)。此容器具有滚动(由overflow:auto; height:400px
提供)
我不需要提供一个URL,它将打开一个页面,这样主页面就不会滚动,但容器中的文本将被滚动。
我尝试了www.mysite.com#position
,但通过这种方式,主页面也滚动了(我需要,用户会看到屏幕顶部的标题,以及" #position
&#34 ;位于容器顶部的位置)
答案 0 :(得分:2)
使用javascript可以实现这一点。我将在这里展示一个jQuery示例。
if (window.location.hash == '#position') {
$('#containerDiv').animate({
scrollTop: $("#actual_position").offset().top
}, 2000);
}
actual_position
应该是滚动到的地方。 position
应该只是在网址中,而不是在页面上,以防止整个页面滚动。
答案 1 :(得分:0)
你可以使用css-properties:position:fixed,top:...,left:...当你的用户滚动时,你的元素应该留在你身边的某个地方。 此外,您可以将您不想滚动的所有内容放入div中并定义css-properties。
我希望这对你有所帮助。
答案 2 :(得分:0)
真的是Arjan答案的升级(现在这确实有效)
由于Arjan的建议,该脚本不会每次都有效,但只能在url(#scroll
)的末尾提供www.mysite.com#scroll
。此脚本将容器滚动条滚动到#position
元素,并保留所有文档。
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);
}
})