Re: [問題] load裡面有圖
※ 引述《Qiqi (潑潑)》之銘言:
: //---js---//
: $('li').click(function(){
: $('div').hide('slow',function(){
: $(this).load('123.html',function(){
: $(this).show('slow');
: });
: });
: });
: //---123.html---//
: <img src="image.png" />
: --------------------------------
: 有沒有辦法在load後判定html裡面的圖片已經讀取完再做show的動作?
: 因為第一次讀取時會看不到show的動畫,直接圖片跳出來
: (因為show完了沒東西,讀完圖才貿然呈現)
: -----------------------edit--------------
: 我不知道是不是我的表達方式太爛,所以沒人看得懂我的問題
: 現在123.html只有一行圖片的程式碼
: <img src="image.png" />
: 但是這張圖很大,譬如20MB
: 所以我在js用load後show出來會lag
: $('div').load('123.html',function(){ $(this).show('slow'); })
: div在show的過程會卡卡,因為圖還在讀的關係
: 有辦法判定圖讀取完後再做show的動作嗎?
javascript有提供預載圖片功能..
var src = 'yourImage.png';
var imageCheck = new Image();
imageCheck.src = src;
function checkImage(){
//假如已經讀完了
if(imageCheck.complete){
//do something you want
}
else{
//還沒讀完的話,3秒後再檢查一次
setTimeout(checkImage, 3000);
}
}
乾脆把他寫完了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.146.228.192
→
04/05 10:04, , 1F
04/05 10:04, 1F
※ 編輯: musie 來自: 122.146.228.192 (04/05 10:09)
推
04/05 17:12, , 2F
04/05 17:12, 2F
→
04/05 17:13, , 3F
04/05 17:13, 3F
→
04/05 17:14, , 4F
04/05 17:14, 4F
→
04/05 17:17, , 5F
04/05 17:17, 5F
→
04/05 17:25, , 6F
04/05 17:25, 6F
推
04/05 17:41, , 7F
04/05 17:41, 7F
→
04/05 17:43, , 8F
04/05 17:43, 8F
→
04/05 17:44, , 9F
04/05 17:44, 9F
→
04/05 17:44, , 10F
04/05 17:44, 10F
→
04/05 18:05, , 11F
04/05 18:05, 11F
→
04/05 18:07, , 12F
04/05 18:07, 12F
討論串 (同標題文章)