单击固定顶部菜单后防止导航到页面顶部

Prevent navigation to the top of the page after click on fixed top menu

我最近在做一个新项目并使用固定的顶部菜单。 在顶部导航菜单中,我有一个未编号的内联列表。 我有一个可点击的元素,在 click() 之后它显示 div 内的垂直选项。

我不确定这是否只是我犯的 css 错误,或者我需要添加一些东西才能使这项工作正常进行,但每次我单击此 <li> 元素时,它都会将我导航到然后在页面顶部显示div.

的内容

它至少在工作,但我希望用户对网站上的功能感到满意,所以我不希望 click() 函数将我导航到页面顶部,而只是为了显示已修复<div> 来自与我的固定导航栏对齐的导航栏。感谢您的帮助。

**编辑:**我忘了说,在 <div> show() 函数之后,我可以轻松地移动网站上显示的 div 并且它已固定在应有的位置,但是当我再次单击它以折叠它时,click() 函数将我导航到顶部。

代码如下:

HTML:

<li class="navbar_item navbar_item_left navbar_item_actions" onclick=">
                <a class="navbar_item_link navbar_item_link_for_actions refresher" href="#">Click me!</a>
                <div class="actions-dropdown">
                    <a href="#">First link</a>
                    <a href="#">Second link</a>
                    <a href="#">Third link</a>
                </div>
</li>

CSS:

.actions-dropdown {display: none; position: fixed; background-color: rgba(154, 210, 78, 1); width: 250px;}
.actions-dropdown a {color: rgb(250, 250, 250); padding: 8px; font-size: 15px; text-decoration: none; display: block; text-align: left; float: left; width: 234px;}

JS:

$(document).ready(function(){
   $(".navbar_item_actions").click(function(){
        var display = $(".actions-dropdown").css('display');
        if(display == 'none'){
            $(".actions-dropdown").show(400);
        } else {
            $(".actions-dropdown").hide(400);
        }
   });
});

取消点击,这样默认操作(在 link 之后)将不会执行。

$(".navbar_item_actions").click(function(e){
    e.preventDefault();
    /* rest of code */
});

对事件使用 preventDefault。

$(".navbar_item_actions").click(function(event){
    var display = $(".actions-dropdown").css('display');
    if(display == 'none'){
        $(".actions-dropdown").show(400);
    } else {
        $(".actions-dropdown").hide(400);
    }
    event.preventDefault();
});