2012-01-19 52 views
2

對不起,這個絕對的新手問題。這是一個超級簡單的問題,但是我最近幾個小時沒有運氣讓這個工作成功。 (剛剛開始使用jQuery)

我試圖在翻轉命中區域div時爲div設置動畫。 (我做了命中區格,因爲與文本頂格將被動畫以及)

的jQuery:

$(".hitzone").mouseover(function(){ 
    $(this).parent("#teal_rollover").animate({ opacity: 0.75 }, 400, 'swing'); 
}); 

HTML:

<div id="portfolio_item1">    
    <div id="background_img"><img src="geof17/cat.png" /></div> 
    <div id="teal_rollover"><img src="geof17/teal_rollover.png" /></div> 
    <div id="portfolio_tem_cat1_tekst">poessie <br />illustratie </div> 
    <div class="hitzone"></div> 
</div> 

我不是能夠選擇ID爲teal_rollover的div。

回答

1

請嘗試sibling而不是parent

1

.hitzone不是#teal_rollover的孩子,這是兄弟姐妹。您可以使用.sibling()選擇器,或者由於teal_rollover是一個ID,您可以直接使用該選擇器而不必更具體。

0

ID在頁面上必須是唯一的,因此您只能使用$("#teal_rollover")

事實上,選擇ID時會比使用parentsiblings更好。

1

#teal_rollover div不是.hitzone的父項。

試試這個:

$(".hitzone").mouseover(function(){ 
    $("#teal_rollover").animate({ opacity: 0.75 }, 400, 'swing'); 
}); 
2

使用本

$(this).parent().find("#teal_rollover").animate(....); 
+0

我爲你的榮譽建造一座雕像! – elMariachi

+0

@ user1158901 thanx;但在哪個位置? – Dau

1

理想IDS shuold是頁面上唯一的,這樣就可以直接用id選擇$("#teal_rollover")

$(".hitzone").mouseover(function(){ 
    $("#teal_rollover").animate({ opacity: 0.75 }, 400, 'swing'); 
}); 

如果你有不能有唯一ID,那麼我會建議你刪除ID屬性並給予一個類。然後,您可以使用類選擇器使用siblings方法找到相應的元素併爲其設置動畫。

1

由於teal_rollover是一個ID,你可以使用

$("#teal_rollover").animate({ opacity: 0.75 }, 400, 'swing');

櫃面,如果你真的想通過父元素,那麼你可以做訪問,

$(this).siblings('#teal_rollover').animate({ opacity: 0.75 }, 400, 'swing');