我有一个很长时间的事件清单。这是一个普通的html表。现在我想避免用户向下滚动列表以找到正确的月份和当前事件。 (由于不同的原因,切换到某种日历不是选项。)在每个月名称之前设置了一个锚点(1月的Month0,2月的Month1等),我可以通过脚本获取页面加载吗?
我现在已经有一段时间没有写过自己的javascripts了,但是我想用这样的东西
getMonth()0-11
如果getMonth(0) onLoad转到“a href =#Month0”
这可以起作用吗?
答案 0 :(得分:0)
对于要跳转到的部分,请使用类似下面代码的锚点。
<a name="Month0"></a>January
然后,要创建一个跳转到那里的链接,你可以这样做。
<a href="#Month0">Jump to January</a>
你也可以制作一个&#34; Go to Top&#34;按钮,不在标签后放任何东西。
<a href="#">Go to the top of the page.</a>
当与CSS的位置:固定
结合使用时,此功能特别有用<div style="position:fixed;bottom:0px;right:0px"><a href="#">Go to top</a></div>
这将导致按钮始终位于左下方。
如果要在Javascript中完成此跳转效果,可以使用location对象,如下所示:
location.hash="#Month0";
你也可以很容易地将它变成一个函数!
function getMonth(anchornum) {
location.hash="Month"+anchornum;
}
干杯!
答案 1 :(得分:0)
您无需在月份名称旁边添加<a>
标记。您可以在任何类型的元素上设置id,并使其表现为跳跃锚。
如果您设置了一个id的链接,它会将页面跳转到具有该ID的元素。所以:
<a href="#month0"></a>
将跳转到id为month0的元素,在您的情况下,它可能是一个表元素:
<tr id="month0"></tr>
对于你的锚点,你应该使用id属性而不是名字。浏览器将首先按id查找您的元素,如果找不到任何具有请求ID的元素,则按名称查找。
设置窗口的位置也会导致跳转到具有相应id的任何元素。
window.location.hash = 'month0';
如果页面加载时哈希已在URL中,则不需要任何javascript即可跳转到该位置。它会自动发生。