2012-04-04 4 views
0

私はこのコードを書いて、各クラスの.hpCarouselに関連する背景画像を与えました。JavaScriptにCSSの背景画像の問題が割り当てられました

ているイメージ名:0bg.jpg、1jpg.bg、2bg.jpg、等...

for (i=0; i < 8; i++) { 
$('.hpCarousel:eq('+i+')').css('background-image', 'url(wp-content/themes/blankslate/assets/carousel/'+i+'bg.jpg'); 
} 

これはFirefoxで正常に動作します。クラスには正しい背景画像が割り当てられたスタイルがあります。

enter image description here

それはクロームOSX & WIN /サファリOSX/IEでは動作しません。 .hpCarouselクラスのdivにはスタイルはありません。

enter image description here

私はChromeのバックグラウンド更新のバグとは何かだった最初に思いました。しかし、他のブラウザでそれを見つけると、私はそうでなければ思うようになりました。

明らかに間違っていますか?

これらのクラスは読み込み時に表示されません。何か違いはありますか?その後、カーネルを作るために互いにフェードイン/アウトします。

+0

高さ、幅(おそらく100%)を設定しましたか?また、背景画像の代わりに背景を使用してみてください。 – Panagiotis

+0

はい、高さと幅が設定されています。 'background-image'ではなく 'background'に変更しても何も起こりません。 – Feeney

答えて

0

FireBugにエラーがありますか? あなたがループ内で別の(より一般的な)セレクタを使用することができます。

$('.hpCarousel:nth-child(' + i + ')') 

$.eachイテレータは、あなたの背景を反復処理するために、より便利な方法です。

$('.hpCarousel').each(function(index) { 
    $(this).css('background-image', 'url(wp-content/themes/blankslate/assets/carousel/'+index+'bg.jpg'); 
}); 
+0

私はそれぞれのインデックスの使用法を知らなかったが、これは明らかに正しい方法である。ありがとう – Feeney

+0

btw、私はFirebugでエラーがありません。 – Feeney