2016-05-31 20 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