Я начал изучать некоторые JS и jQuery, и я пытаюсь получить меню переключения, которое сбрасывает счетчик кликов в другом меню, когда он открывается.Переключение меню и сброс счетчика вызовов
// JavaScript Document
var toggleclicks = $('.toggle').data('clicks');
var menuclicks = $('.toggle-menu').data('clicks');
$(document).ready(function() {
//WRAPPER//
$('.toggle').click(function() {
++toggleclicks;
if (toggleclicks%2 === 0) {
// even clicks
$('.wrapper').css({'margin-top': '-260px'});
$('.icon-menu, .icon-bell').css({'color': '#ABABAB'});
$('.toggle-menu').data('clicks',0)
} else {
// odd clicks
$('.wrapper').css({'margin-top': '0'});
$('.icon-bell').css({'color': 'red'});
$('.contact, .diet, .hours, .classes, .gym').css({'margin-bottom': '-300px'});
$('.main-nav').css({'width': '0'});
$('.icon-menu').css({'color': '#ABABAB'});
}
});
//NAV BAR//
$('.toggle-menu').click(function() {
++menuclicks;
if (menuclicks%2 === 0) {
// even clicks
$('.main-nav').css({'width': '0'});
$('.icon-menu, .icon-bell').css({'color': '#ABABAB'});
$('.toggle').data('clicks',0)
} else {
// odd clicks
$('.main-nav').css({'width': '50%'});
$('.icon-menu').css({'color': 'red'});
$('.icon-bell').css({'color': '#ABABAB'});
$('.wrapper').css({'margin-top': '-260px'});
$('.contact, .diet, .hours, .classes, .gym').css({'margin-bottom': '-300px'});
}
});
** As you can see, the toggle won't work. любые предложения? **
Спасибо!
'if (toggleclicks% 2 === '0')' будет 'if (toggleclicks% 2 === 0)' Вы всегда будете получать число как напоминание, а не строку! –
Что означает «не работает»? Вы получаете сообщение об ошибке в консоли браузера? Любое неожиданное поведение? Включение соответствующего HTML-кода и/или настройка jsfiddle (http://jsfiddle.net/) помогут. – Scottie
Вы уверены, что '$ ('. Toggle')' и '$ ('. Toggle-menu')' доступны в DOM в начале? Может быть, что jQuery делает noop, возвращающий null для кликов, потому что инструкции находятся вне готовой функции и выполняются во время интерпретации, а не в DOMReady. – Sukima