2011-09-08 118 views
0

我試圖通過jQuery設置元素的不透明度。元素的不透明度

$('[class*="OtherFeatur"]').load(function(){ 
        $(this).fadeTo(500, 0.5); 
       }); 

不工作,但是當我做

   $('[class*="OtherFeatur"]').fadeTo(0,0.5); 
會受到一定影響。第一個代碼的問題在哪裏? 哪個更好,通過jQuery或CSS設置不透明度?我怎樣才能通過CSS,所有的瀏覽器可以顯示它?

+0

什麼是你正在試圖淡化元素?我假設通過使用'load'它是一個圖像?另外,'fadeTo'是一個動畫,不只是一種設置不透明度的方法。在css中設置它與動畫不一樣。 –

回答

1

​​- 從服務器加載數據並將返回的HTML放入匹配的元素中。

所以這個函數適用於從另一個資源加載數據到你選擇的元素。

可能你需要的頁面加載事件:

$(document).ready(function() { 
    $('[class*="OtherFeatur"]').fadeTo(0,0.5); 
}); 

或者如果你加載一些數據,首先指定在​​法源。

$('[class*="OtherFeatur"]').load('mysource.html', function(){ 
       $(this).fadeTo(500, 0.5); 
      }); 

在這種情況下,函數將在加載內容後被調用。

2

如果您只想設置元素的opacity,則使用css方法。

$('[class*="OtherFeatur"]').css("opacity", 0.5); 
2

的動畫需要更長然後0毫秒

你可以使用:

$('[class*="OtherFeatur"]').css({ opacity: 0.5 }); 

如果我不是弄錯jQuery有擴展的CSS不透明度規則,以便適用於所有的瀏覽器。

+0

我讀過它http://www.quirksmode.org/css/opacity.html,我正在尋找在所有瀏覽器上工作的方式,例如IE –

+2

它對所有瀏覽器都做了它的魔力,所以IE也會改變不透明度。 – voigtan

1

你正在尋找的是

$(window).load(function() { 
    $('[class*="OtherFeatur"]').fadeTo(0,0.5); 
});