JQuery脚本无法在Firefox中运行

时间:2014-04-30 02:03:33

标签: javascript jquery firefox browser toggleclass

我的代码在Chrome中工作得体(虽然很慢),但在Firefox中失败了。目前,该脚本切换列表项上的类的悬停/点击,显示div,第二个切换将模糊类添加到导航中的其余列表项。在第二次单击时,它关闭该div,但不会删除模糊类。当我意识到没有任何addClass脚本在Firefox中工作时,我正在研究那个部分。 div确实打开/关闭,所以至少可以工作。

任何人都可以帮我解决如何清理Firefox的问题吗?此外,有关如何在再次单击列表项时删除blur-logo类的任何想法及其' div关闭?

谢谢!

我的HTML头脑中有这个烂摊子:     

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="/wp-content/themes/etoolkit/js/libs/jquery-1.7.2.min.js"><\/script>')</script>

<script type="text/javascript" src="script.js"></script>

<link rel="stylesheet" href="sidetogglemenu.css" />
<script type="text/javascript"     src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
<script src="sidetogglemenu.js">
</script>

</head>

这是HTML:

<ul>
<li><a class="artist-logo" href="#artist-looka"><img src="images/looka-black-circle.png"></a></li>
<li><a class="artist-logo" href="#artist-sremedy"><img src="images/sremedy-black-circle.png"></a></li>
 <li><a class="artist-logo" href="#artist-hyperbit"><img src="images/hyperbit-black-circle.png"></a></li>
 </ul>

 <div id="artist-looka" class="artist-box">
 </div>
 <div id="artist-sremedy" class="artist-box">
 </div>
 <div id="artist-hyperbit" class="artist-box">
 </div>   

这是我的剧本:

    $(document).ready(function() {
        $(".artist-box").hide();
        $(".artist-logo").click(function(event) {
            event.preventDefault();

            var clicked = $(this);

            var taggedWithSelect = $('.selected-artist');  

            var clickPartner = $(clicked.attr('href'));
            var selectPartner = $(taggedWithSelect.attr('href'));
            var notClicked = $('.artist-logo').not(clicked);




            if( clicked.hasClass('selected-artist') ) {
                clicked.removeClass('selected-artist');
                unclicked.removeClass('blur-logo');
            } else {

                clicked.addClass('selected-artist');
                taggedWithSelect.removeClass('selected-artist');
                selectPartner.slideToggle();
                notClicked.addClass('blur-logo');
            };
            clickPartner.slideToggle();

        });
 });

这里是CSS:

.selected-artist{
    width:100%; 
    max-height: 100%;
    -webkit-filter: invert(100%);
    -moz-border-radius: 50%;
    border-radius: 50%;
    -webkit-border-radius: 50%;  
}

.blur-logo {
    border: 3px red;
    -webkit-filter: blur(3px); 
    -moz-filter: blur(3px); 
    -o-filter: blur(3px); 
    -ms-filter: blur(3px); 
    filter: blur(3px);
}

1 个答案:

答案 0 :(得分:0)

我已经讨论了一段时间了,我的理解是,当单击图像时,只有2个href可以具有“blur-logo”类,而当单击相同图像时,只有2个href可以具有“blur-logo”类。鉴于此,我认为您应该尝试在else块中添加一个删除类(代码在新图像点击时传递):

else {
   clicked.addClass('selected-artist');
   clicked.removeClass('blur-logo');

我希望这会有所帮助。