2012-11-03 90 views
2

首先對不起我的英語,因爲它不是我的第一語言。 我正在爲一個學校項目建設一個時間線網站,它很好,但有一件事情讓我煩惱。jQuery腳本似乎沒有動畫

我有這些球和點擊,當他們打開他們背後一個div並關閉所有其他並設置一些課程,所以我知道他們是打開的。

,如果你試圖打開一個不同的,則一個是媒體鏈接開放的偉大工程。

現在,這裏的問題是,如果我打開一個,然後再次單擊它,關閉它,我得到這個遠到代碼:

if($('.balkln, .balgrt').hasClass("open")){ 
     console.log("Clicked and there is a open class active!"); 

,但它不會觸發對接下來要即使它有設置動畫類infoopen

$(".infoopen").stop().animate({ 

鏈接到網站: http://kloek.skippy.nu

任何人有一個想法?

感謝

回答

0

的問題是,你想看看無論是.balkln.balgrtopen類的元素他們內。您的代碼檢查,如果.balkln.balgrt有自己的類

嘗試你的代碼改成這樣:

if($('.balkln, .balgrt').find(".infoopen")){ // this will look for open divs within balls 
    console.log("Clicked and there is a open class active!"); 

這個條件應該是true,它就是你想要的。此外,我感覺到你的代碼中有你尋找是開放的,下次你找的信息DIV關閉結構錯誤。你需要的是尋找是打開和關閉的信息的div它包含。你的代碼現在可以工作,但是如果你允許多個球同時打開,關閉一個球會導致全部關閉,你會遇到麻煩。

+0

謝謝,我怎麼能錯過這個,我現在重建代碼所做的建議。我希望所有其他人都關閉,然後打開一個新的。但我也想關閉一個開放的,當我點擊按鈕。我希望這會起作用 – Skippengs

+0

@ user1796591我後來注意到你的球元素**可以接收「open」類。它同樣令我困惑,問題必須在代碼中的其他地方。祝你好運! – MarioDS