2010-11-03 88 views
1

我有一个水平滚动网站,我希望页面刷新时重置为最左侧(原始位置)。截至目前,我已经尝试使用jQuery .scrollLeft,但只能在页面初始加载时才能使用它。有什么方法可以在页面刷新或其他方式来设置它的工作?刷新返回页面左侧

+1

页面刷新会触发页面加载。定义*刷新*。 – 2010-11-03 01:35:38

+0

当按下刷新按钮/ F5时,我希望页面返回到最左侧(开始位置)。现在我有 - $(document).load()。scrollLeft(0); - 在第一次加载页面时起作用。但是,它不会将页面发送回最左侧的位置,但如果您已经查看该页面,然后点击刷新按钮/ F5,而不是页面刷新并继续显示您已在查看的内容。希望这是有道理的。谢谢。 – Adam 2010-11-03 03:18:39

+0

即使你不使用任何JS,刷新页面只会去左!如果你不使用JS,它会走向正确还是居中? – zod 2010-11-03 03:55:44

回答

0

如果刷新后页面位置未重置为左上角(F5/cmd R),则此位置必须是某种浏览器内存。

你可以创建你的顶级家庭锚留下这样的:

<a name="home">&nbsp;</a> 

本例中使用非打破空间的内容,但你可以把它包起来aroudn现有内容。

然后将您的页面设为http://www.example.com/page.html#home,它应该覆盖浏览器内存。用你自己的网址替换,保留#home。

后来补充:

你可能会迫使移动到锚定在页面加载这样的:

$(function() { 
    window.location.href = "#anchor"; 
}); 

上jsbin代码:http://jsbin.com/awata3/edit

$(功能)的简称$(文档).ready(功能)

+0

我其实已经有了这个导航的目的。有没有办法告诉浏览器在刷新时将页面发送回该锚点,无论页面在哪里? – Adam 2010-11-03 11:51:45

+0

添加说明给我原来的答案,希望这可以帮助你。 – dyve 2010-11-04 07:39:53

0

就这样我清楚你在问什么。一旦页面加载并且用户向右滚动,您正在讨论的是,当您刷新页面时,您希望页面返回到开始位置,而不是保留在用户正在查看的内容上?

+0

正确,有什么想法? – Adam 2010-11-03 23:14:04

0

在html中的body标签的末尾设置以下内容。这应该刷新或重新加载时将页面重新定位到左上方。

window.onload = function() { 
    window.scrollTo(0, 0); // set x and y position to 0 and 0 respectively. 
};