2014-10-17 91 views
-1

我有一个按钮,正在切换我的菜单(#menu-toggle)。当用户点击按钮时,页面跳转到顶部。我怎样才能阻止这种情况发生?停止页面跳转到顶部点击与其他

试过,但没有奏效:

$('#menu-toggle').click(function(event){ 
$('.wrap, nav > ul, .wrap > .container:first-child').toggleClass('push'); 
    event.preventDefault(); 
if ($('.wrap').hasClass('push')){ 
    $('.wrap').css('position', 'fixed'); 
    $('.wrap > .container:first-child > div:first-child').slideUp(500); 
} else { 
    $('.wrap').css('position', 'relative'); 
} 
}); 

这里是我的HTML:

<button id="menu-toggle"> 
    <div id="nav-toggle"><span></span></div> 
</button> 
<button id="search-toggle"></button> 

任何帮助,将不胜感激。

感谢

+0

_I我试过这个,但是它禁用了if else语句_。返回后发生的任何事情都将被忽略。 – melancia 2014-10-17 18:25:31

+0

好的谢谢,但什么工作? – DannyBoy 2014-10-17 18:27:52

+0

'event.preventDefault()' – tymeJV 2014-10-17 18:30:20

回答

0

的解决方案可能是把 返回FALS E或event.preventDefault()完成后else block不是之前的if语句,你可以使用像这个:

$('#menu-toggle').click(function(event){ 
$('.wrap, nav > ul, .wrap > .container:first-child').toggleClass('push'); 

if ($('.wrap').hasClass('push')){ 
    $('.wrap').css('position', 'fixed'); 
    $('.wrap > .container:first-child > div:first-child').slideUp(500); 
} else { 
    $('.wrap').css('position', 'relative'); 
} 
event.preventDefault(); //equivalent to return false; 
});