2014-06-19 94 views
0

我剛開始學習jQuery和我碰到這樣的代碼奇怪的現象:jQuery函數意外行爲

$(document).ready(function() { 
    $("img").hover(function() { 
     $(this).toggle("explode"); 
    }); 
}); 

HTML

<div id="head" > 
    <div id="flag2" class="flag" ><img src="img/flag2.png"/></div> 
    <div id="nickwrapper"> 
     <p id="nick">Text</p> 
     <p id="undernick">Some text</p> 
    </div> 
    <div id="flag" class="flag" ><img src="img/flag.png"/></div> 
</div> 

,而不是爆炸的圖像只是變小消失.. .. 但是當我改變$(「img」)在類爲我的圖像,圖片更改行爲..(「。標誌」),它會右移並出現在另一個級別..不像它是什麼時候$( 「IMG」)。 這是爲什麼? 我只是想要特定類的圖像爆炸..

+0

,你能否告訴我們的HTML呢?此外,jsFiddle.net示例通常對此類問題很有幫助。 – j08691

+0

當你用標誌類替換img時,jQuery的外觀如何? –

+0

什麼是爆炸類的CSS? – lostinplace

回答

0

類「.flag」分配給包裝DIV,而不是img本身。所以基本上與img你是爆炸形象。而.flag則是圍繞它爆炸DIV。你可以把類標誌放到img標籤本身。

+0

謝謝:)它的工作原理 – Unfairnessrulestheworld

+0

不客氣,請接受答案。 –

0

我不是100%我明白你在問什麼,但這聽起來像你有更多的問題與CSS比你的JQuery選擇器。

我會嘗試這樣的事:

$(document).ready(function() { 
     $("img").hover(function() { 
      console.log("Hovered over image"); 
     }); 

     setTimeout(function(){ 
      $(someImageID).toggle("explode"); 
     }, 1000); 
    }); 

當你將鼠標懸停在圖片此代碼將打印到控制檯日誌,然後分別將等待1000毫秒後爆炸單個圖像。

這將幫助你a)確認你是否正確地選擇了你的選擇器,並且b)確保爆炸按照你想要的方式工作。在你知道這兩件事情都在起作用之後,你可以將它們組合起來。

編輯:我剛纔看到你更新了文章,包括你的HTML。另一個答案是關於你在課堂上遇到的問題是正確的。

+0

非常感謝 – Unfairnessrulestheworld