2012-03-28 70 views
0

我有一個用jQuery製作的滑動div菜單,但是您必須單擊Div中的LINK才能使其滑動。任何人都可以告訴我如何使div可以點擊嗎?如何使div在jQuery滑動菜單上可點擊

你可以看到菜單和代碼在這裏:http://jsfiddle.net/WhfDc/

我試圖用CSS來製作錨覆蓋整個DIV和它的作品的時候。任何想法,這是否正確?

+0

我可以點擊沒有問題,問題是預期的結果= P – 2012-03-28 19:37:13

+0

歡迎棧溢出! – 2012-03-28 19:37:32

+0

檢查我的答案:)記得投票所有幫助你的答案,並設置一個接受任何可能:) – deantoni 2012-03-28 19:50:57

回答

0

是的,它可以通過在div上附加click事件處理程序而不是在div內的anchor元素。

此外,我會建議你使用jQuery附加事件處理程序,而不是內聯事件處理程序。

工作演示 - http://jsfiddle.net/WhfDc/1/

+0

請參閱http://api.jquery.com/click/ – 2012-03-28 19:38:04

+0

嗯,感謝,它的工作在jsfiddle但不活着,任何想法爲什麼? – 2012-03-28 20:01:34

+0

活:http://worldoceansday.org/?page_id=1035 – 2012-03-28 20:02:37

0

你並不需要所有的的JavaScript。 您只需綁定菜單點擊事件(對於所有包含.evtog類的div),處理程序隱藏可見子菜單並顯示子菜單。

試試這個:

$(function() { 
    $("div.evtog").click(function() { 
    $("div[name=events]:visible").slideUp(600); 
    $(this).next().slideDown(200); 
    }) 
});​ 

注意包裝的功能$(),這是必要的,因爲爲了綁定他們必須對DOM元素。這保證了當DOM準備就緒時該函數將被執行。

工作例如:JsFiddle

更多信息:

.click
:visible
.next
.ready

+0

哇,非常感謝!你改變的是那個JavaScript? – 2012-03-28 19:54:55

+0

它適用於jfiddle,但沒有生活,任何想法爲什麼? http://worldoceansday.org/?page_id=1035 – 2012-03-28 20:03:22

+0

問題在於你在菜單準備好之前綁定了事件。你需要刪除a元素上的js調用。我編輯了我的答案。請注意$(處理程序),如下所述:http://api.jquery.com/ready/ – deantoni 2012-03-28 20:21:44