日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

通过Image 对象动态装载图片,不可能立即得到图片的问题

發布時間:2023/12/31 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通过Image 对象动态装载图片,不可能立即得到图片的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
//JS縮略圖正確的方法
var imgView = document.getElementById("imgview");

var imgObj = new Image();
imgObj.src = imgUrl;

function thumbImg(imgObj){
???????if (typeof(imgObj) == 'object'){
?????????????if ((imgObj.width != 0) && (imgObj.height != 0)){
????????????????????var z = NewSize(imgObj.width, imgObj.height, imgW, imgH);?? //調用壓縮函數
????????????????????imgView.setAttribute("src", imgObj.src);
????????????????????imgView.style.width = z.w + "px";?
????????????????????imgView.style.height = z.h + "px";
?????????????}else{
???????????????????//setTimeout(thumbImg(imgObj), 100);?? //這樣會產生溢出,
?????????????????? setTimeout(' thumbImg (imgObj) ' ,? '100');? //這樣好一點
?????????????}
???????}
};

需要注意的是,由于setTimeout函數是時間過程,所以執行的代碼必須安排在函數thumbImg里面,而不能放在外面執行。
因此,凡是有 setTimeOut或 setInterval 的函數,其實現必須放在代碼中,而不能放在外部,也不能返回一個值。
他是 void 類型,而不是 return 類型。


---------------------------
//預加載一組圖片的正確方法
var arrImg = new Array();
... 循環載入圖片名稱...

var imgList = new Array();
var imgSize = new Array();
var iTimer = null;

?for(var i=0; i<arrImg.length; i++){
???????? var img = new Image();
???????? img.src =? arrImg[i];
?????????addImg(img);
???????? img = null;
?};

function addImg(imgObj){
?????if(typeof(imgObj) == 'object'){
????????????if(imgObj.width !=0 && imgObj.height !=0){
??????????????? ?imgList.Add(imgObj);
??????????????? ?imgSize.Add(NewSize(imgObj.width, imgObj.height, imgW, imgH));
???????????????? clearTimeout(iTimer); imgObj = null; iTimer = null;
?????????? ?}else{
??????????????? ?iTimer = setTimeout( 'thumbImg(imbObj)' ,? '100' );? //注意要加上引號
?????????? }
?????}
?};


這樣才能確保圖片被真正預加載了,直接給 image對象賦予src值,并不能馬上加載,他有個延遲的問題。

轉載于:https://www.cnblogs.com/sw22225458/archive/2008/01/05/1026835.html

總結

以上是生活随笔為你收集整理的通过Image 对象动态装载图片,不可能立即得到图片的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。