2015-05-29 58 views
2

我有一個簡單的jQuery代碼看起來像這樣:的jQuery的slideToggle不斷重複

$("#resp-navigation").one("click", function() { 
    $("#navigation").slideToggle(500); 
}); 

我的HTML看起來像這樣:

<div id="resp-navigation"> ... </div> 
<nav id="navigation"> ... </nav> 

我的問題是,當我點擊#resp-導航div,#navigation不斷切換。有沒有人知道爲什麼?

謝謝。

+0

假設,這不是你所有的代碼。作爲你的例子按預期工作 – paka

回答

3

如果你的意圖是有 '#navigation' DIV每次有人點擊了 '#RESP導航' DIV,然後切換:

此:$("#resp-navigation").one

應該是:$("#resp-navigation").on

然後它在這個小提琴正常工作:

http://jsfiddle.net/us0dm62c/

如果豪ver,你的意圖是隻有'#navigation'div切換一次(所以它消失了,不能再顯示),那麼你的代碼就完全沒有修改,你可以在這個小提琴中看到:

http://jsfiddle.net/gktnhhm5/

+0

不,如果使用這個事件的想法一次http://api.jquery.com/one/ – paka

0

正如@trevor所說,它應該是('點擊'),而不是('點擊')。

如果你看到它乒乓我猜是你有另一個點擊監聽器分配在代碼中的其他地方正在做同樣的事情。

+0

這應該是@特雷弗的回答評論;這不是問題的答案。 –

0

因爲您正在使用.one(*)。使用像$(".btn1").click(function(){...}將適用於多次點擊。