2011-07-24 6 views
2

私はこれが簡単だと知っています。私はスクリプトのためにウェブを検索しましたが、何も見つけられませんでした。私は自分の背景が15秒ごとに自動的に変わるようにしたい。 (写真のスライドショーのように、背景として) 私のスタイルシートはbodyタグのbg画像をコントロールします。 助けてくれてありがとう。 setIntervalバックグラウンド変更画像を15秒ごとに自動的に作成するにはどうすればよいですか? JavaScript? jQuery?

答えて

7

、あなたが任意の関数を呼び出すことができ、よく、間隔:setIntervalを行うのに十分シンプル

(function() { 
    var curImgId = 0; 
    var numberOfImages = 42; // Change this to the number of background images 
    window.setInterval(function() { 
     $('body').css('background-image','url(/background' + curImgId + '.jpg)'); 
     curImgId = (curImgId + 1) % numberOfImages; 
    }, 15 * 1000); 
})(); 
+4

は、背景画像の数が無限であることを前提と? :) – Kon

+0

@Kon有限画像数の追加コードを追加しました。 – phihag

+0

速い返信をありがとう。 :)私は私のページにこれを適用するのに役立つ必要があります。あなたはインストールに関する何らかの指示を教えてくれますか?両方とも助けてくれてありがとう。私はこれをHTMLの

3

var currentIndex = 1; 
var totalCount = 21; 

setInterval(function() { 
    if (currentIndex > totalCount) 
     currentIndex = 1; 

    $(body).css('background-image', 'url(/bg' + currentIndex++ + '.jpg)'); 
}, 15000); 
+0

このコードのしくみを教えてください。 bodyタグは別々の.cssファイル(style.css)にありますので、これは次のようになります: setInterval(function(){ $(body)style.css( 'background-image'、 'url(/myimage.jpg ) '); }、15000); – Fab

+0

@Kon w3schoolsは[有名に信頼できないソース](http://w3fools.com/)です。それは[W3C](http://www.w3.org/)に関連していないため、誤解を招くものです。 – phihag

+0

@Fabssファイルは問題ではありません。これはCSSツリーを直接DOMツリーに設定します(CSSファイルのデフォルトを上書きします)。 – phihag

1
<script src="http://codeorigin.jquery.com/jquery-2.0.3.min.js"></script> 
<script style="text/javascript"> 
    (function() { 
     var curImgId = 0; 
     var numberOfImages = 5; // Change this to the number of background images 
     window.setInterval(function() { 
      $('body').css('background','url("'+ curImgId +'.jpg")');// set the image path here 
      curImgId = (curImgId + 1) % numberOfImages; 
     }, 15 * 1000); 
    })(); 

</script> 
関連する問題