Javascript-单击时停止JS链接滚动回顶部?

Javascript-单击时停止JS链接滚动回顶部?,javascript,Javascript,我使用这个JS在页面上显示/隐藏DIV,以阻止页面变得太忙。问题是页眉链接位于页面的一半,因此用户很可能会在页面上向下滚动。然后单击链接会使浏览器再次滚动回顶部。有没有办法阻止这一切 一个额外的好处是可以显示像滚动或淡入这样的div,但这并不重要。谢谢 HTML链接: <a href="#" onclick="toggle_visibility('content1');">Charity Partnership</a> <div id="conten

我使用这个JS在页面上显示/隐藏DIV,以阻止页面变得太忙。问题是页眉链接位于页面的一半,因此用户很可能会在页面上向下滚动。然后单击链接会使浏览器再次滚动回顶部。有没有办法阻止这一切

一个额外的好处是可以显示像滚动或淡入这样的div,但这并不重要。谢谢

HTML链接:

    <a href="#" onclick="toggle_visibility('content1');">Charity Partnership</a>
    <div id="content1" class="alist" style="display:none;">Content</div>
    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';
        }
    }

内容
JS:

    <a href="#" onclick="toggle_visibility('content1');">Charity Partnership</a>
    <div id="content1" class="alist" style="display:none;">Content</div>
    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';
        }
    }
功能切换\u可见性(id){
var thelist=document.getElementsByClassName(“列表”);
对于(变量i=0;i
使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;
    }
功能切换\u可见性(id){
var thelist=document.getElementsByClassName(“列表”);
对于(变量i=0;i
并在锚元素处使用该值:

<a href="#" onclick="return toggle_visibility('content1');">Charity Partnership</a>
    <div id="content1" class="alist" style="display:none;">Content</div>

内容

您可以将
href=“#”
替换为
href=“javascript:;”
或删除
href
标记

对于上一个解决方案,当您将鼠标悬停在链接上时,将不会看到手形光标


我会选择第一个解决方案,或者如果您确实想选择最后一个解决方案,您可以添加
一个{cursor:pointer;}
来显示,而不是手动显示。

替换(使用
href=“javascript:;”
)或删除
href
标记。可能重复的谢谢,这很有效,但现在,它不像光标显示文本荧光笔而不是手那样明显地是一个链接。“有办法解决这个问题吗?”昆汀抱歉,我搜索的时候不知道怎么说。我没有看到那个帖子。我以为这是JS的问题。同样,那篇文章也没有像TGO给出的答案那样解决问题。好吧,我会做
href=“javascript:;”
,因为这会帮到你。或者你可以添加一些CSS来包含光标。谢谢。我最终使用href=“javascript:;”来代替它,它具有相同的效果,但您的也可以。