2014-10-17 172 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; 
});