预加载多个背景

时间:2011-12-28 21:47:46

标签: jquery

一位不错的成员帮我预装了一张css背景图片,我想我会扩展它以预先加载更多背景图片,但是当我尝试制作演示时遇到了问题。

这是原作:

var  src = 'image1.jpg'
  , $img = $( '<img src="' + src + '">' );

$img.bind( 'load', function(){
    $( '#SomeDiv' ).css( 'background-image', 'url( ' + src + ')' );
    //more code here



} );
if( $img[0].width ){ $img.trigger( 'load' ); }

这就是我所做的:

var  src1 = 'image1.jpg'
  , $img1 = $( '<img src="' + src1 + '">' );

var  src2 = 'image2.jpg'
  , $img2 = $( '<img src="' + src2 + '">' );

$img1.bind( 'load', function(){
    $( '#SomeDiv' ).css( 'background-image', 'url( ' + src1 + ')' );
    //more code here
} );

$img2.bind( 'load', function(){
    $( '#AnotherDiv' ).css( 'background-image', 'url( ' + src2 + ')' );
    //more code here
} );


if( $img[0].width ){ $img.trigger( 'load' ); }

在这里工作&#39;例: http://jsfiddle.net/pufamuf/k2Ycv/

感谢大家的帮助:))

1 个答案:

答案 0 :(得分:1)

原件:

if( $img[0].width ){ $img.trigger( 'load' ); }

应该是:

if( $img1[0].width ){ $img1.trigger( 'load' ); }
if( $img2[0].width ){ $img2.trigger( 'load' ); }