2013-03-04 35 views
0

我有這個動畫div到父div的JavaScript。Javascript的點擊功能沒有反應在適當的家長

的Javascript

$(document).ready(function() { 
    $("a").click(function() { 
     var $righty = $(this).next(); 
     $righty.animate({ 
      right: parseInt($righty.css('right'),10) == 0 ? 
      -$righty.outerWidth() : 
      0 
     }); 
    }); 
}); 

HTML

<div id="home" class="page">     
     <div id="page1">     
      <a href="#">Inside Div</a> 
     </div> 

     <a href="#">Outside Div</a> 

     <div id="page2" class="page"> 
      content 
     </div>      
    </div> 

我想<a>標籤住在page1 DIV。截至目前,只有當<a>標籤居住在<div id="page1">時,Javascript才起作用。我很抱歉,如果這是非常基本的,因爲我是Javascript的新手。謝謝!

+0

這也許不是很基本的,但我們不會知道,除非你說你要什麼用這個代碼來實現。 – gdoron 2013-03-04 15:56:29

+0

你的css看起來像什麼樣子。從我記憶中需要確定的位置:相對和/或絕對的聲明。 – JRomero 2013-03-04 15:59:38

+0

請參閱下面的編輯。仍然不確定,但我猜這是你想要的。 – shubniggurath 2013-03-04 16:19:25

回答

1

爲您的標籤使用選擇器,而不僅僅是一個。像一個班或一個ID。你不希望這發生在每一個標籤,對吧?

此外,righty正在獲取下一個...呃,沒有什麼是你想要打的標籤旁邊。

你想做$(this).parent()。next(); - 不,請參閱下面的編輯。我猜測,因爲你從來沒有告訴我們你想要什麼,確切地說。

編輯:這可能無濟於事。只要知道你不能在div中有一個標籤,並調用.next() - 它沒有兄弟姐妹。 .next()命中下一個兄弟。不是因爲它在頁面上直觀顯示,而是因爲它存在於DOM樹中....您需要在div中有一個兄弟才能使用.next()來抓取標籤.....您不需要。那有意義嗎?你究竟想要做什麼動畫?

編輯編輯:當點擊給定類或標識的給定標記時,告訴我要標記的標識的id或類,然後告訴你如何去做。

編輯編輯編輯:如果你只想讓第2頁動畫點擊第1頁>一個時,做到這一點:

$('#page1 a').click(function(){ $('#page2').animate(...put animation stuff here...) }); 
+0

非常感謝! 「這個」聲明讓我感到困惑。我用ID選擇器替換了它,一切都很好!我非常感謝! – jons 2013-03-04 17:27:40