2011-10-10 38 views
0

我執行一個非常簡單的onmouseover fadeTo這樣的:jQuery的 - fadeTo不使用Chrome 16

$(document).ready(function() {  
$('img#logo-link, a.advert').hover(function() { $(this).fadeTo('fast',0.75) } , function(){ $(this).fadeTo('fast',1) }); 
}); 

...它工作在FF7/8罰款,但我不能讓一個元素。在Chrome中淡入淡出(其他淡入淡出效果)。 HTML是這樣的:

<a class="advert lime" href="/my-url"> 
    <div class="wrapper"> 
     <img src="file.jpg" width="225" height="280" alt="Alt text" /> 
     <div class="description"> 
      <div class="description_content"> 
       <h3>Advert title</h3> 
       <p>Lorem ipsum dolor sit amet</p> 
      </div> 
     </div> 
     <div class="clear"></div> 
    </div> 
</a>  

我可以看到Chrome的檢查器中的不透明度發生了變化,但它在文檔中沒有任何區別。其他類似的淡入淡出效果(包括帶圖片的淡入淡出效果)。

我正在使用jQuery 1.6.2。

有什麼想法?

+0

有一個Chrome 16?耶穌; – Mob

回答

0

我的第一個想法是,這是由嵌入元素(a)中的塊級元素(div,圖像等)引起的。嘗試添加:

a.advert { 
    display: block; 
} 

然而,更好的方法來完成,這將是擺脫a標籤和模仿與jQuery和CSS的行爲:

.wrapper:hover { 
    cursor: pointer; 
} 

$(".wrapper").click(function() { 
    window.location = '/my-url'; 
}; 

然後懸停效果將最當然可以工作,使用相同的代碼,但運行在$(".wrapper")而不是$("a.advert")

+0

就是這樣,謝謝! (對於任何人想知道的NB,HTML5允許內聯元素中的塊元素,如a) – melat0nin

+0

NB是什麼意思? –

+0

@ android.nick這是一個拉丁語術語,我認爲,「nota bene」,它標誌着關於某事的特別注意。 – bricker