2011-06-22 98 views
1

有什麼方法可以使用mootools重新加載相同的圖像。我有一個照相機給我的形象,但我必須刷新它。我寫了這個,但它不工作如此之好:MooTools - 如何重新加載圖像?

var url = "some valid url to some image.jpg"; 
var timer = 10; 
var periodical; 

var camera_container; 
var refresh = (function() { 
    var loader = new Asset.image(url, { 
     onLoad : function() { 
      camera_container.empty(); 
      camera_container.inject(loader); 
     } 
    }); 
}); 

window.addEvent('domready', function() { 
    // the periodical starts here, the * 1000 is because milliseconds required 
    refresh.periodical(timer * 1000, this); 
    camera_container = $('camera-image'); 
}); 

任何幫助表示讚賞。謝謝。

回答

0

爲什麼不向網址添加播種位?

(function() { 
    var url = "some valid url to some image.jpg?"; 
    this.timer = 10; 
    var counter = 0; 

    this.refresh = (function() { 
     var loader = new Asset.image(url + counter, { 
      onLoad: function() { 
       camera_container.empty(); 
       camera_container.inject(loader); 
       counter++; 
      } 
     }); 
    }); 

})(); 

window.addEvent('domready', function() { 
    // the periodical starts here, the * 1000 is because milliseconds required 
    refresh.periodical(timer * 1000, this); 
    this.camera_container = $('camera-image'); 
}); 

這種方式的網址將永遠是路徑/ image.jpg?n其中n改變並將強制瀏覽器重新獲取它。

0

我覺得這樣的事情也能正常工作:

<div id="image-holder"> 
    <img src="http://www.image.com/image.jpg"/> 
</div> 


var srcImage = 'http://www.image.com/image.jpg'; 
var reloadTime = 4000; 
var holder = document.id('image-holder'); 

var imageReload = function(){ 
    holder.empty(); 
    var newImage = new Element('img',{ 
      id:'image', 
      src:srcImage , 
      alt:'image new' 
     }).inject(holder);  
} 

var start = function() { 
    interval = imageReload.periodical(reloadTime); 
}; 

start();