2012-04-02 75 views
0

我得到了這個問題,在上面的HTML我不能點擊下拉菜單,我錯了一些地方,我的代碼下拉菜單不工作,任何人都可以請讓我知道我哪裏出錯了? CSS:DropDown菜單使用Jquery

的Javascript:

 <script type="text/javascript"> 
$(function() { 
    $('.menucontainer').hide(); 
    $('#container').sortable({ 
     handle:'h1', 
     scroll: false, 
     revert: true, 
     tolerance: 'pointer' 
    }); 


    $('.dropmenu').on('click', function(){ 
     var $ul = $('.menucontainer', this);    
     $ul.show(500); 
     console.log($ul); 
     return false; 
    }); 

    $('html').on('click', function() { 
     $('.menucontainer').hide(500); 
    }); 

}); 
</script> 
+0

嘗試一下http://jsfiddle.net/bvVEb/看看它是否有效,如果沒有請提供有關應該不同的信息 – 2012-04-02 13:18:12

+0

是否有可能創建一個[小提琴](http:// jsfiddle。淨)與你的代碼? – 2012-04-02 13:18:27

+0

嗨,當我們點擊圖片時,一個下拉菜單必須是可見的,當我點擊頁面中的任何地方它需要消失,我試着解決它,但在我的頁面它不工作 – Navyah 2012-04-02 13:20:59

回答

1

你在你的代碼有一些問題。我想我已經固定他們都在這裏:http://jsfiddle.net/exuY9/

幾件事情:

  1. 在JS你的最後一點,你有另一個事件處理程序的內部事件處理程序。雖然這是合法的,但我懷疑你的意圖;
  2. 你的代碼可能實際上已經在工作,我認爲它正在顯示你想要的菜單,但它也立即隱藏了它們。爲什麼?因爲#dr1,#dr2的onclick處理程序允許點擊通過頁面繼續到HTML的onclick處理程序,該處理程序立即以非常快的速度解除了show(),您認爲根本沒有任何事情發生;我也將所有的代碼移動到$(function(){...})中;塊,只是因爲我不確定你是否在head中插入了這段代碼,在這種情況下,這些元素不會存在以附加處理程序。如果您的腳本附在body的末尾,那麼這不是一個問題;
  3. 不用爲同一個類的每個ID創建一個新的處理程序,只需爲該類創建一個。你可以看到我在修改過的代碼中做了幾次這樣的事情;
  4. 而且,就風格而言,它已經成爲前端開發人員的習慣,使用Javascript中的單引號和HTML中的雙引號。這會爲你節省很多頭疼,就好像你在兩個引號中使用雙引號一樣,你最終總是需要逃避東西。
+0

嗨mkoistine,我想要的功能相同的功能,但它不是在我的網頁 – Navyah 2012-04-02 13:36:36

+0

我使用上面的插件