切换样式表

时间:2011-06-29 10:18:15

标签: jquery css stylesheet

我知道之前已经介绍过了 - 但是我使用jQuery以一种合乎逻辑的方式使用了我的代码,但是第二个“click”函数似乎没有起作用。

很可能我错过了一些非常简单的事情,或者做了一些完全错误的事情......!

    <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 个答案:

答案 0 :(得分:2)

试试这个:

$(".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()根据类具有两个不同的操作。或者,我上面的代码显示您只能进行一次点击事件,检查黑暗类是否存在并从那里开始工作。

这是the example working