2013-03-15 194 views
0

我想打開下拉菜單,當我點擊一個按鈕。jQuery:顯示/隱藏下拉菜單點擊按鈕

我已經嘗試了很多代碼,但我得到的最接近的是下面的代碼:

<input id="hide" value="+" type="button" /> 

$(document).ready(function() { 

    $('#hide').click(
     function() { 
      //show its submenu 
      $('rightMenu', this).stop().slideDown(500); 

     }, 
     function() { 
      //hide its submenu 
      $('rightMenu', this).stop().slideUp(500);   
     } 
    ); 

我想顯示/隱藏菜單爲<div id="rightMenu">

+1

哪些因素是rightMenu?你需要指定什麼元素。例如:'$('。rightMenu',this)'是類'rightMenu'的元素。可以使用這個下拉菜單:'$('select',this)'。 – sourRaspberri 2013-03-15 11:23:37

+2

...和'click'不接受2個功能。改用'slideToggle'。 – undefined 2013-03-15 11:24:15

回答

0

可你的slideToggle

嘗試
$('#hide').click(
    function() { 
    //show its submenu 
    $('.rightMenu').slideToggle(500); 

} 
); 
+1

謝謝,但沒有任何反應。 – hobok 2013-03-15 11:29:18

1

$('rightMenu', this)相同$(this).find("rightMenu")

因此這將搜索與嵌套您hide input元素內的rightMenu標籤元素。

這顯然是不正確的,因爲您沒有嵌套在您的input元素中的任何元素,並且您幾乎肯定不會有任何rightMenu元素,因爲這是無效類型。

Menu is in right rightMenu。在這個回答您的評論

看,你的選擇實際上應該是:

$("#rightMenu") 

此外click()無法接受2個參數。改爲將此功能更改爲1功能,並使用slideToggle()在向上和向下之間切換。

因此你的代碼應該是:

$(document).ready(function() { 

$('#hide').click(
    function() { 
     //show its submenu 
     $("#rightMenu").stop().slideToggle(500);  
    } 
); 

}); 

現場演示:http://jsfiddle.net/7aCFk/

+0

確定我已經編輯但仍: <輸入的ID = 「隱藏」 值= 「+」 型= 「按鈕」/>

My menu
$(文件)。就緒(函數(){ $( '#hide')點擊( 函數(){// 顯示其子菜單 $( '#rightMenu',這一點).stop()了slideDown(500); }, 功能(){ //隱藏其子菜單 $('#rightMenu',this).stop()。slideUp(500); } ); – hobok 2013-03-15 11:28:15

+0

@hobok查看我的編輯 - 我沒有意識到rightMenu是一個ID(因爲你從來沒有提到過:P) – Curt 2013-03-15 11:30:47

+0

對不起,它很好,謝謝! – hobok 2013-03-15 11:31:42

相關問題