1
我正在顯示一個配置文件圖像。如果該圖像大於某個尺寸,我想對其進行縮放,以便將附加事件附加到該圖像。在圖像加載後,我會檢查它是否更大,如果是這樣,那麼我會縮放它到一個較小的圖像。我正在顯示一個加載動畫,直到圖像加載。如何在另一個事件處理程序中使用此關鍵字
<td height="203" valign="middle" align="center"><div id="loadingdiv">Loading...
</div><img style="display:none;" id="proimg" src="<?=$path?>" />
</td>
<script type="text/javascript">
var pro = document.getElementById('proimg');
pro.onload = function()
{
if(this.width>260)this.style.width = '260px';
if(this.height>200)this.style.height = '200px';
window.setTimeout(function() {
document.getElementById('loadingdiv').style.display = 'none';
this.style.display = 'inline';
},1000);
}
</script>
加載動畫將消失,並且圖像在一秒鐘後可見。這就是我想要的,所以我像上面那樣做了。但如何將onload的這個引用到settimeout事件處理程序中?
沒有settimeout它工作正常,我可以去,但我只是想顯示延遲。
編輯:
我用做像第reply.But我認爲應該有另一種方式或這樣的概念。
有什麼辦法可以在這裏關閉嗎?所以我不必使用額外的變量引用。
這很好。這是我的方式,但我認爲會有一些其他的選擇或概念。 Closure在這裏有什麼要做的嗎?我仍然還沒有理解封閉。 – 2011-01-21 10:32:30