1

一定の間隔で、たとえば 1 秒または 2 秒ごとに div に画像をロードしたい

私はこのようないくつかのばかげた試みをしました

$(document).ready(function() {
  setTimeout('LoadImages()',100 );
});
function LoadImages()
{
   $('#Images').load('get_image.htm'); // get_image.htm displays image
}
</script>
<body>
<div id="Images"><div>

私はそれがすべて間違っていることを知っていますが、これを機能させるために何をする必要がありますか?

4

6 に答える 6

2

setInterval代わりに必要ですsetTimeout

$(function() {
 var i = window.setInterval(function(){
    $('#Images').load('get_image.htm');
 },1000 );
});

いつでもリロードを停止できます

clearInterval(i);
于 2012-05-30T08:18:47.087 に答える
1

これはそれを行うでしょう

$(document).ready(function() {
  setInterval(function() {
    $('#Images').load('get_image.htm'); // get_image.htm displays image
  },100 );
});

setInterval()を使用すると、指定されたミリ秒数 (この場合は 100) 後に関数を繰り返すことができます。

于 2012-05-30T08:18:14.027 に答える
1

setTimeout / Interval内で文字列を使用しないでください。これを試してください

$(document).ready(function() {
  var div = $('#Images');
  setInterval(function() {
    div.load('get_image.htm'); // get_image.htm displays image
  }, 1000);
});

毎秒呼び出しを行う必要がある場合は、delay を1000100 にする必要があります (そうしないと、サーバーは 60 ではなく 600 リクエスト/分を受け取ることになります)。

$('#Images')また、ノードへの外部スコープ参照を作成して、関数呼び出しのたびに再評価しないようにします。

于 2012-05-30T08:18:35.273 に答える
1
$(document).ready(function() {

   function LoadImages() {

     setTimeout(function() {
        $('#Images').load('get_image.htm'); // get_image.htm displays image
        LoadImages(); // recursive call to LoadImages
     }, 1000)

   }
});

LoadImages()画像の読み込みが終了した後に呼び出す場合は、

$(document).ready(function() {

   function LoadImages() {

     setTimeout(function() {
        $('#Images').load('get_image.htm', function() {

             LoadImages(); // recursive call to LoadImages

       }); // get_image.htm displays image

     }, 1000)

   }
});
于 2012-05-30T08:31:20.057 に答える
0

毎秒必要な場合は、setIntervalを使用し、1000msは1秒です。

$(document).ready(function() {
  setInterval('LoadImages',1000 );
});
于 2012-05-30T08:19:12.533 に答える
0

setTimeout('LoadImages()',100 )の間隔パラメータを取るのでsetTimeout(LoadImages,1000 );、1秒間のようになります。1秒ごとに実行するには、のように使用する必要があります。一度だけ実行します。setTimeoutmillisecondsetIntervalsetInterval(LoadImages,1000)setTiemout

assetTimeoutは関数参照を取ります。ここで、usingは関数をすぐに'LoadImages()'トリガーして実行し、nullを返します。eval

また、画像をそのdivに何度もロードする代わりに、appendを使用する必要があります。これにより、以前のすべての画像が置き換えられます。あなたが意図的にそれを望んでいるかどうかはわかりません。

$(function() {
 var i = window.setInterval(function(){
    $('#Images').load('get_image.htm');
 },1000 );
});
function LoadImages()
{
 $.get('get_image.htm',function(data){
    $('#Images').append(data);
 });
}
于 2012-05-30T08:19:40.800 に答える