2016-05-31 39 views
0

我一直在尝试这一段时间,我只是不知道为什么这个简单的toggleClass不会工作。当我在开发工具中进行元素检查时,我发现元素闪烁,好像它正在尝试执行某些操作。没有得到一个控制台错误。它会让我addClass没有问题,但是当我切换到toggleClass它不起作用。不能得到一个基本的toggleClass工作

我的代码是:

<div class="header-top-wrap"> 
    <a class="nav-opener"></a> 
</div> 

$(".nav-opener").on("click",function() { 
    $(".header-top-wrap").toggleClass("nav-active"); 
}); 
+0

'我看到我的元素flicker'通常要附加指示click元素的两次点击事件。 –

+0

那么,我会再次将它附加在哪里?这是它的唯一代码行。 – Blake

+0

我把toggleClass改成了几个随机的东西,以确保它没有被调用两次,而不是。 – Blake

回答

2

而不必所有的代码,这是很难调试。下面是一个使用您的具体JS和工作的例子的jsfiddle:文本颜色改变onclickhttps://jsfiddle.net/qk5ue9yv/

$(".nav-opener").on("click",function() { 
 
    $(".header-top-wrap").toggleClass("nav-active"); 
 
});
.nav-active{ 
 
    color:red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div class="nav-opener"> 
 
    <div class="header-top-wrap"> 
 
    hello world 
 
    </div> 
 
</div>

+0

谢谢,我不认为我的代码错了。我将不得不查看是否有任何外部js资源与它混淆。除了这个切换之外,我删除了所有创建的js,但它仍然无效。所以我可能会在外面吸引一些与之相冲突的js。 – Blake

-1
$(".nav-opener").click(function(){ 

    $(".header-top-wrap").toggleClass("nav-active"); 
}); 
+1

欢迎来到Stack Overflow!尽管这段代码可以解决这个问题,但[包括一个解释](// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)确实有助于提高您的帖子的质量。请记住,您将来会为读者回答问题,而这些人可能不知道您的代码建议的原因。也请尽量不要用解释性注释来挤占代码,这会降低代码和解释的可读性! –

+0

当然...... :) – sam