第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何使用Javascript / jQuery確定是否已加載圖像?

如何使用Javascript / jQuery確定是否已加載圖像?

ibeautiful 2019-10-26 11:17:14
我正在編寫一些Javascript來調(diào)整大圖像的大小,以適合用戶的瀏覽器窗口。(不幸的是,我沒有控制源圖像的大小。)因此,HTML中將包含以下內(nèi)容:<img id="photo"     src="a_really_big_file.jpg"     alt="this is some alt text"     title="this is some title text" />我是否可以確定標(biāo)簽中的src圖像img是否已下載?我需要這樣做,因?yàn)槿绻?(document).ready()在瀏覽器加載圖像之前執(zhí)行該命令,就會(huì)遇到問題。  $("#photo").width()并$("#photo").height()返回占位符的大?。ㄌ娲谋荆?。就我而言,這大約是134 x 20?,F(xiàn)在,我只是在檢查照片的高度是否小于150,并假設(shè)是alt文字。但這是一個(gè)很不錯(cuò)的技巧,如果照片的高度小于150像素(在我的特定情況下不太可能),或者替換文字的高度大于150像素(可能發(fā)生在小的瀏覽器窗口中),它就會(huì)中斷。編輯:對(duì)于任何想要查看代碼的人:$(function(){  var REAL_WIDTH = $("#photo").width();  var REAL_HEIGHT = $("#photo").height();  $(window).resize(adjust_photo_size);  adjust_photo_size();  function adjust_photo_size()  {    if(REAL_HEIGHT < 150)    {      REAL_WIDTH = $("#photo").width();      REAL_HEIGHT = $("#photo").height();      if(REAL_HEIGHT < 150)      {        //image not loaded.. try again in a quarter-second        setTimeout(adjust_photo_size, 250);        return;      }    }    var new_width = . . . ;    var new_height = . . . ;    $("#photo").width(Math.round(new_width));    $("#photo").height(Math.round(new_height));  }});更新:感謝您的建議。如果我為$("#photo").load事件設(shè)置回調(diào),則可能會(huì)引發(fā)該事件,因此我直接在image標(biāo)簽上定義了onLoad事件。作為記錄,下面是我最終使用的代碼:<img id="photo"     onload="photoLoaded();"     src="a_really_big_file.jpg"     alt="this is some alt text"     title="this is some title text" />然后在Javascript中://This must be outside $() because it may get called firstvar isPhotoLoaded = false;function photoLoaded(){  isPhotoLoaded = true;}$(function(){  //Hides scrollbars, so we can resize properly.  Set with JS instead of  //  CSS so that page doesn't break with JS disabled.  $("body").css("overflow", "hidden");  var REAL_WIDTH = -1;  var REAL_HEIGHT = -1;  $(window).resize(adjust_photo_size);  adjust_photo_size();  function adjust_photo_size()  {    if(!isPhotoLoaded)    {      //image not loaded.. try again in a quarter-second      setTimeout(adjust_photo_size, 250);      return;    }  }});
查看完整描述

3 回答

?
慕村9548890

TA貢獻(xiàn)1884條經(jīng)驗(yàn) 獲得超4個(gè)贊

使用jQuery數(shù)據(jù)存儲(chǔ),您可以定義“已加載”狀態(tài)。


<img id="myimage" onload="$(this).data('loaded', 'loaded');" src="lolcats.jpg" />

然后在其他地方您可以執(zhí)行以下操作:


if ($('#myimage').data('loaded')) {

    // loaded, so do stuff

}


查看完整回答
反對(duì) 回復(fù) 2019-10-26
  • 3 回答
  • 0 關(guān)注
  • 523 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)