Переключение таблиц стилей - PullRequest
0 голосов
/ 29 июня 2011

Я знаю, что это уже было рассмотрено - но у меня есть код, который выглядит логичным, с использованием jQuery, но вторая функция «щелчка» не работает.

Вполне вероятно, что я упускаю что-то очень простое или делаю что-то совершенно не то ...!

    <script type="text/javascript">    
        $(document).ready(function() {
          $('a[href=#start]').click(function(){
              $('html, body').animate({scrollLeft:0}, 'slow');
              return false;
          });

          $(".invert-link").click(function() {
           $("link[class='THEME']").attr("href", "http://link-to-site/wp-content/themes/HM/dark-style.css");
           $(".invert-link").addClass("dark");
            });

          $(".invert-link.dark").click(function() {
           $("link[class='THEME']").attr("href", "http://link-to-site/wp-content/themes/HM/light-style.css");
           $(".invert-link").removeClass("dark");
            });

        }); 
    </script>

Первый раздел не имеет отношения, но может повлиять, я думаю!

Ура, ребята!

1 Ответ

2 голосов
/ 29 июня 2011

Попробуйте это:

$(".invert-link").click(function() {

    if ($(this).hasClass('dark')) {
        $("link[class='THEME']").attr("href", "http://link-to-site/wp-content/themes/HM/light-style.css");
        $(".invert-link").removeClass("dark");
    } else {
        $("link[class='THEME']").attr("href", "http://link-to-site/wp-content/themes/HM/dark-style.css");
        $(".invert-link").addClass("dark");
    }

});

Ваш первый .invert-link селектор будет всегда срабатывать, потому что у него всегда есть этот класс, вы могли бы использовать :not(), чтобы иметь два разных действия в зависимости от класса. В качестве альтернативы мой код выше показывает, что вы можете иметь только одно событие щелчка, проверить, существует ли темный класс, и работать оттуда.

Вот пример работы .

...