2013-11-27 19 views
0

Я просто пытаюсь переместить div на 40% влево, а затем обратно на 0% при нажатии/переключении ... не уверен, почему он не работает, я сделал это раньше, чем оно работает. По какой-то причине это скрывает кнопку NAV и оленья кожа переключатель ....jQuery toggle не работает/скрывает навигацию по клику

Fiddle

JQuery

$("#mobileNav").toggle(function() { 
    $("#content").animate({ "left" : "40%" }, 500); 
}, function() { 
    $("#content").animate({ "left" : "0%" }, 500); 
}); 

HTML

<div class="header"> 
    <a href="#" id="mobileNav">Nav</a> 
</div> 

<div id="mainContain"> 
    <div id="menu"></div> 
    <div id="content"></div> 
</div> 
+0

Это должно помочь: https://forum.jquery.com/topic/beginner-function-toggle-deprecated-what-to-use-instead – karthikr

ответ

4

Эта версия пуговица была устарел и удален, теперь он только скрывает и показывает вещи, но вы можете скрипать т.е свою собственную функциональность тумблер:

$("#mobileNav").on('click', function() { 
    var toggle = $(this).data('toggle'), 
     dist = toggle ? '0%' : '40%'; 

    $("#content").animate({ "left" : dist }, 500); 
    $(this).data('toggle', !toggle); 
}); 

FIDDLE

+0

1+ Вы невероятно быстро. –

+3

@JoshC - Это то, что говорят мне все девушки? – adeneo

+0

@adeneo Мне нравится ваш ответ намного больше, чем мой! – echochamber

0

Он не похож на что-либо вызывая ваши одушевленные вызовы. Попробуйте

var toggle = false; 
$("#mobileNav").click(function(){ 
    toggle = !toggle; 
    if(toggle) 
     //do animations 
    else 
     //reverse the animations 
}); 
Смежные вопросы