2016-04-29 45 views
2

下面的代碼上bootsnipp:http://bootsnipp.com/user/snippets/2pvGr的jQuery JavaScript的的onclick了slideDown面板

我試圖導航欄的元素鏈接,用面板。我想有以下功能:

當點擊id爲「XXX」導航欄的元素,然後用ID「YYY」面板被未塌陷(了slideDown())

我莫名其妙沒有得到它..

(#osPartner-navbar)是在導航欄中的下拉按鈕的ID。

你可以檢查更新的JavaScript ...

任何想法,如何做到這一點?

PS:另一個小細節..我希望面板的初始位置是「滑動」。因此,當我點擊父面板並滑下時,兩個子面板都會滑動(關閉),用戶必須點擊才能滑下。如果有人爲此提供瞭解決方案,那麼將其作爲正面評價將會很好。

+0

你能提供的jsfiddle? –

+0

@HyderB。完成;) – ZelelB

回答

3

var $this = $('#osPartnerUebersicht'); 

hasClass是一個jQuery函數替換

var $this = (document).getElementById('osPartnerUebersicht'); 

,所以你需要jQuery對象。

getElementById將返回dom元素。

+0

謝謝!它幫助;-) – ZelelB

0

不知道這是否幫助,但你的JS有一些錯誤,我注意到了,但是你沒有給需要的人全HTML正確幫助,但看看這個:

新:

instead of using $(document).on use $("#osPartner").on("click", func..)

$("#osPartner").on("click", function(){ 
    var $this = $("#osPartnerUebersicht"); // Changed like BenG stated before I posted this. 
    console.log($this); 
    console.log($this.children[0]); 
    console.log($this.children[1]); 

    if ($this.hasClass("panel-primary")) { 
     console.log("I do!"); 
    } 
}); 

這裏的jsfiddle鏈接: https://jsfiddle.net/o8yqpefv/

0
document.getElementById('contents'); //returns a HTML DOM Object 

var contents = $('#contents'); //returns a jQuery Object 

在jQuery中,爲獲得與document.getElementById相同的結果,可以訪問jQuery對象並獲取對象中的第一個元素(請記住JavaScript對象的作用與關聯數組類似)。

var contents = $('#contents')[0]; //returns a HTML DOM Object 

所以你需要使用下面

var $this = $('#osPartnerUebersicht');