Javascript-点击时阻止JS链接滚动回顶部
Javascript - Stop JS link from scrolling back to the top when clicked?
我使用这个JS在页面上显示/隐藏div,以防止页面太忙。问题是标题链接在页面的一半位置,因此用户很可能会在页面上向下滚动。然后单击链接会使浏览器再次滚动回顶部。有办法阻止这种情况吗?
一个额外的好处是显示div,这样可以很好地滚动或淡入,但这并不重要。谢谢
HTML链接:
<a href="#" onclick="toggle_visibility('content1');">Charity Partnership</a>
<div id="content1" class="alist" style="display:none;">Content</div>
JS:
function toggle_visibility(id) {
var thelist = document.getElementsByClassName("alist");
for (var i = 0; i < thelist.length; i++) {
thelist[i].style.display = 'none';
}
var e = document.getElementById(id);
if (e.style.display == 'block') {
e.style.display = 'none';
} else {
e.style.display = 'block';
}
}
使您的javascript函数返回false:
function toggle_visibility(id) {
var thelist = document.getElementsByClassName("alist");
for (var i = 0; i < thelist.length; i++) {
thelist[i].style.display = 'none';
}
var e = document.getElementById(id);
if (e.style.display == 'block') {
e.style.display = 'none';
} else {
e.style.display = 'block';
}
return false;
}
并在锚点元素处使用该值:
<a href="#" onclick="return toggle_visibility('content1');">Charity Partnership</a>
<div id="content1" class="alist" style="display:none;">Content</div>
您可以用href="javascript:;"
替换href="#"
,也可以删除href
标记。
在最后一个解决方案中,当您将鼠标悬停在链接上时,将不会看到手动光标。
我会选择第一个解决方案,或者如果你真的想选择最后一个方案,你可以添加a { cursor: pointer; }
来显示。
相关文章:
- "此网站似乎使用滚动链接定位效果.这可能不能很好地与异步平移一起工作;
- 停止触摸滚动还可以防止单击链接
- 下一个/上一个锚链接,如何在用户滚动时更新下一个/上一个链接
- 延迟滚动到锚链接
- Javascript-点击时阻止JS链接滚动回顶部
- Javascript一页滚动脚本滚动到每个点击的链接一个接一个
- 停止滚动到每个点击的链接,只滚动到第一个点击的链接
- 当外部链接打开Tab时,页面滚动到顶部也固定了导航栏
- 带有标签的外部链接会延迟滚动事件
- 单击链接时滚动至字段集
- 单击链接滚动到元素,然后向元素添加类
- 如何禁用滚动但保留使用锚链接滚动的功能
- 定位链接滚动条从中间开始
- jQuery-将元素滚动到屏幕中间,而不是使用锚链接滚动到顶部
- 点击相关链接滚动到引导面板主体
- 如何防止锚链接滚动到页面的一部分
- 如何从页面底部的<链接滚动到#header DIV以及如何改变动画速度- JQuery 1.8.3
- 如何防止散列标签链接滚动页面?
- 使用jQuery链接滚动到部分页面的有效方式
- 如何通过在coldfusion代码中放置一个函数来获得所有链接滚动到页面顶部?