Переключить функцию JavaScript Javascript - PullRequest
1 голос
/ 16 февраля 2012

Я пытаюсь показать этот CSS при первом клике и удалить его при следующем, но toggleClass не работает, как и мой код нижеВсе, что я могу получить, это показать CSS, и его никогда не удаляют.Это для использования в Safari на iOS.Спасибо за помощь!

                var menu_enabled = false;

                $('#nav a').click(function () {
                    if (menu_enabled == true) {
                        $(this).removeClass('sf-js-enabled');
                        var menu_enabled = false;
                    }
                    else {
                        var menu_enabled = true;
                        $(this).addClass('sf-js-enabled');
                    }
                });

Ответы [ 3 ]

3 голосов
/ 16 февраля 2012

Вы должны оформить заказ .toggleClass(), похоже, это именно то, что вы хотите.

$('#nav a').click(function () {
    $(this).toggleClass('sf-js-enabled');
});
0 голосов
/ 16 февраля 2012

Я не совсем уверен, что вы пытаетесь достичь в целом, но addClass и removeClass должны работать просто отлично. Я бы добавил ID или класс к элементу, к которому вы хотите привязать клик, но это всего лишь личные предпочтения.

$(document).ready(function(){
    $('#element').click(function(){
        if($('#element').hasClass('sf-js-enabled')){
            $('#element').removeClass();
        }
        else{
            $('#element').addClass('sf-is-enabled');
        }
    });
});
0 голосов
/ 16 февраля 2012

Возможно использование атрибута .className?

var menu_enabled = false;

$('#nav a').click(function () {
 if (menu_enabled == true) {
  $(this).className = "";
  menu_enabled = false;
 }else 
 {
  menu_enabled = true;
  $(this).className = 'sf-js-enabled';
 }
});
...