单击固定顶部菜单后防止导航到页面顶部
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();
});
我最近在做一个新项目并使用固定的顶部菜单。 在顶部导航菜单中,我有一个未编号的内联列表。 我有一个可点击的元素,在 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();
});