Я экспериментирую с использованием jQuery для переключения между двумя функциями. Результаты до сих пор были неоднородными. Ниже приведен весь код пробного сценария.jQuery переключение между функциями - выполняется ноль, один, два, три ... раза
<html>
<head>
<script type="text/javascript" src="../js/jquery.js"></script>
<script>
$(document).ready(function(){
$('#id').on('click',function(event){
$(this).toggle(
function(){console.log('Hide');},
function(){console.log('Show');}
);
});
});
</script>
</head>
<body>
<div id="id">Hello</div>
</body>
</html>
Итак, когда я впервые нажимаю «Привет», в журнале ничего не отображается.
[Nothing]
На второй щелчок, я получаю:
Hide
На третий, он добавляет:
Show
Hide
На четвертый, он добавляет:
Hide
Show
Hide
На пятой добавляется:
Show
Hide
Show
Hide
Надеюсь, вы можете увидеть шаблон :) Почему это делается? Я экспериментировал с .stop(true)
, но безрезультатно.
Спасибо.
Красивая! Щелчок был наследием попытки чего-то другого, прежде чем я начал использовать toggle. Удаление обложек кликов решает проблему, при условии, что все, что я хочу, при щелчке происходит в двух переключающих функциях (что может привести к небольшому дублированию). Или я предполагаю, что могу использовать .toggle (...). On ('click', ...), не так ли? – Nick
@Nick Рад, что это сработало, парень из Сиднея! – alex
@Nick Вы можете связать 'toggle()' и 'on()' как это, где 'on()' будет запускаться при каждом нажатии. – alex