亚洲 国产精品 日韩-亚洲 激情-亚洲 欧美 91-亚洲 欧美 成人日韩-青青青草视频在线观看-青青青草影院

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 3種Javascript圖片預(yù)加載的方法詳解

3種Javascript圖片預(yù)加載的方法詳解

來源:千鋒教育
發(fā)布人:wjy
時(shí)間: 2022-06-01 11:45:00 1654055100

  預(yù)加載圖片是提高用戶體驗(yàn)的一個(gè)很好方法。Javascript圖片預(yù)加載到瀏覽器中,訪問者便可順利地在你的網(wǎng)站上沖浪,并享受到極快的加載速度。

3種Javascript圖片預(yù)加載的方法詳解

  這對圖片畫廊及圖片占據(jù)很大比例的網(wǎng)站來說十分有利,它保證了圖片快速、無縫地發(fā)布,也可幫助用戶在瀏覽你網(wǎng)站內(nèi)容時(shí)獲得更好的用戶體驗(yàn)。本文將分享三個(gè)不同的預(yù)加載技術(shù),來增強(qiáng)網(wǎng)站的性能與可用性。

  **方法一:用css和JavaScript實(shí)現(xiàn)預(yù)加載**

  實(shí)現(xiàn)預(yù)加載圖片有很多方法,包括使用css、JavaScript及兩者的各種組合。這些技術(shù)可根據(jù)不同設(shè)計(jì)場景設(shè)計(jì)出相應(yīng)的解決方案,十分高效。

  單純使用CSS,可容易、高效地預(yù)加載圖片,代碼如下:

  ```js

  #preload-01 { background: url() no-repeat -9999px -9999px; }

  #preload-02 { background: url() no-repeat -9999px -9999px; }

  #preload-03 { background: url() no-repeat -9999px -9999px; }

  ```

  將這三個(gè)ID選擇器應(yīng)用到(X)html元素中,我們便可通過CSS的background屬性將圖片預(yù)加載到屏幕外的背景上。

  只要這些圖片的路徑保持不變,當(dāng)它們在Web頁面的其他地方被調(diào)用時(shí),瀏覽器就會(huì)在渲染過程中使用預(yù)加載(緩存)的圖片。簡單、高效,不需要任何JavaScript。

  該方法雖然高效,但仍有改進(jìn)余地。使用該法加載的圖片會(huì)同頁面的其他內(nèi)容一起加載,增加了頁面的整體加載時(shí)間。

  為了解決這個(gè)問題,我們增加了一些JavaScript代碼,來推遲預(yù)加載的時(shí)間,直到頁面加載完畢。代碼如下:

  ```js

  function preloader() {

  if (document.getElementById) {

  document.getElementById("preload-01").style.background = "url() no-repeat -9999px -9999px";

  document.getElementById("preload-02").style.background = "url() no-repeat -9999px -9999px";

  document.getElementById("preload-03").style.background = "url() no-repeat -9999px -9999px";

  }

  }

  function addLoadEvent(func) {

  var oldonload = window.onload;

  if (typeof window.onload != 'function') {

  window.onload = func;

  } else {

  window.onload = function() {

  if (oldonload) {

  oldonload();

  }

  func();

  }

  }

  }

  addLoadEvent(preloader);

  ```

  在該腳本的第一部分,我們獲取使用類選擇器的元素,并為其設(shè)置了background屬性,以預(yù)加載不同的圖片。

  該腳本的第二部分,我們使用addLoadEvent()函數(shù)來延遲preloader()函數(shù)的加載時(shí)間,直到頁面加載完畢。

  如果JavaScript無法在用戶的瀏覽器中正常運(yùn)行,會(huì)發(fā)生什么?很簡單,圖片不會(huì)被預(yù)加載,當(dāng)頁面調(diào)用圖片時(shí),正常顯示即可。

  ## **方法二:僅使用JavaScript實(shí)現(xiàn)預(yù)加載**

  上述方法有時(shí)確實(shí)很高效,但我們逐漸發(fā)現(xiàn)它在實(shí)際實(shí)現(xiàn)過程中會(huì)耗費(fèi)太多時(shí)間。相反,我更喜歡使用純JavaScript來實(shí)現(xiàn)圖片的預(yù)加載。

  下面將提供兩種這樣的預(yù)加載方法,它們可以很漂亮地工作于所有現(xiàn)代瀏覽器之上。

  **JavaScript代碼段1**

  只需簡單編輯、加載所需要圖片的路徑與名稱即可,很容易實(shí)現(xiàn):

  ```js

  ```

  該方法尤其適用預(yù)加載大量的圖片。我的畫廊網(wǎng)站使用該技術(shù),預(yù)加載圖片數(shù)量達(dá)50多張。將該腳本應(yīng)用到登錄頁面,只要用戶輸入登錄帳號,大部分畫廊圖片將被預(yù)加載。

  **JavaScript代碼段2**

  該方法與上面的方法類似,也可以預(yù)加載任意數(shù)量的圖片。將下面的腳本添加入任何Web頁中,根據(jù)程序指令進(jìn)行編輯即可。

  ```js

  ```

  正如所看見,每加載一個(gè)圖片都需要?jiǎng)?chuàng)建一個(gè)變量,如“img1 = new Image();”,及圖片源地址聲明,如“img3.src = “../path/to/image-003.gif”;”。參考該模式,你可根據(jù)需要加載任意多的圖片。

  我們又對該方法進(jìn)行了改進(jìn)。將該腳本封裝入一個(gè)函數(shù)中,并使用 addLoadEvent(),延遲預(yù)加載時(shí)間,直到頁面加載完畢。

  ```js

  function preloader() {

  if (document.images) {

  var img1 = new Image();

  var img2 = new Image();

  var img3 = new Image();

  img1.src = "";

  img2.src = "";

  img3.src = "";

  }

  }

  function addLoadEvent(func) {

  var oldonload = window.onload;

  if (typeof window.onload != 'function') {

  window.onload = func;

  } else {

  window.onload = function() {

  if (oldonload) {

  oldonload();

  }

  func();

  }

  }

  }

  addLoadEvent(preloader);

  ```

  ## **方法三:使用Ajax實(shí)現(xiàn)預(yù)加載**

  上面所給出的方法似乎不夠酷,那現(xiàn)在來看一個(gè)使用Ajax實(shí)現(xiàn)圖片預(yù)加載的方法。該方法利用DOM,不僅僅預(yù)加載圖片,還會(huì)預(yù)加載CSS、JavaScript等相關(guān)的東西。使用Ajax,比直接使用JavaScript,優(yōu)越之處在于JavaScript和CSS的加載不會(huì)影響到當(dāng)前頁面。該方法簡潔、高效。

  ```js

  window.onload = function() {

  setTimeout(function() {

  // XHR to request a js and a CSS

  var xhr = new XMLHttpRequest();

  xhr.open('GET', 'http://domain.tld/preload.js');

  xhr.send('');

  xhr = new XMLHttpRequest();

  xhr.open('GET', 'http://domain.tld/preload.css');

  xhr.send('');

  // preload image

  new Image().src = "";

  }, 1000);

  };

  ```

  上面代碼預(yù)加載了“preload.js”、“preload.css”和“preload.png”。1000毫秒的超時(shí)是為了防止腳本掛起,而導(dǎo)致正常頁面出現(xiàn)功能問題。

  下面,我們看看如何用JavaScript來實(shí)現(xiàn)該加載過程:

  ```js

  window.onload = function() {

  setTimeout(function() {

  // reference to

  var head = document.getElementsByTagName('head')[0];

  // a new CSS

  var css = document.createElement('link');

  css.type = "text/css";

  css.rel = "stylesheet";

  css.;

  // a new JS

  var js = document.createElement("script");

  js.type = "text/javascript";

  js.src = "http://domain.tld/preload.js";

  // preload JS and CSS

  head.appendChild(css);

  head.appendChild(js);

  // preload image

  new Image().src = "";

  }, 1000);

  };

  ```

  這里,我們通過DOM創(chuàng)建三個(gè)元素來實(shí)現(xiàn)三個(gè)文件的預(yù)加載。正如上面提到的那樣,使用Ajax,加載文件不會(huì)應(yīng)用到加載頁面上。從這點(diǎn)上看,Ajax方法優(yōu)越于JavaScript。

  **- End -**

  更多關(guān)于“html5培訓(xùn)”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓(xùn)經(jīng)驗(yàn),課程大綱更科學(xué)更專業(yè),有針對零基礎(chǔ)的就業(yè)班,有針對想提升技術(shù)的提升班,高品質(zhì)課程助理你實(shí)現(xiàn)夢想。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
今日頭條展現(xiàn)量是什么?今日頭條展現(xiàn)量規(guī)則分析

目前頭條用戶會(huì)發(fā)現(xiàn)微頭條和問答新增了“展現(xiàn)量”指標(biāo)。那么這個(gè)今日頭條展現(xiàn)量是什么意思呢?如何提高呢?下面千鋒教育小編就和大家說...詳情>>

2023-09-19 09:15:47
我想直播帶貨去哪里找貨源一件代發(fā)

現(xiàn)在直播帶貨是一個(gè)非?;鸬男袠I(yè),越來越多的人進(jìn)入到這個(gè)圈子,但是,認(rèn)真地說,直播帶貨能不能賺到錢還是要看自己。雖然這一行業(yè)火,收入高,...詳情>>

2023-09-19 08:41:02
入駐短視頻mcn需要多少錢?有哪些費(fèi)用?

眾所周知,現(xiàn)在短視頻成了很多人的自媒體創(chuàng)業(yè)道路之一,越來越多人喜歡在網(wǎng)上消遣時(shí)間,購物等。也有很多優(yōu)秀的博主去做出很多新的內(nèi)容,那么入...詳情>>

2023-09-19 08:12:47
短視頻帶貨應(yīng)該注冊什么公司?需要什么資料?

短視頻大家應(yīng)該都非常熟悉,現(xiàn)在很多人都喜歡在閑暇的時(shí)候刷短視頻,短視頻平臺也開始了直播帶貨,商家也都開始創(chuàng)業(yè)了,那么短視頻帶貨需要營業(yè)...詳情>>

2023-09-19 08:09:31
怎樣投抖加不花錢?別人能看出來嗎?

抖音一些視頻為了獲取更多點(diǎn)擊,一些博主機(jī)會(huì)投抖加。其實(shí)抖加的投放沒有絕對正確的方法,而不同賬號和視頻投放的策略都是不一樣的,不過一般情...詳情>>

2023-09-19 08:00:10
開班信息
北京校區(qū)
  • 北京校區(qū)
  • 大連校區(qū)
  • 廣州校區(qū)
  • 成都校區(qū)
  • 杭州校區(qū)
  • 長沙校區(qū)
  • 合肥校區(qū)
  • 南京校區(qū)
  • 上海校區(qū)
  • 深圳校區(qū)
  • 武漢校區(qū)
  • 鄭州校區(qū)
  • 西安校區(qū)
  • 青島校區(qū)
  • 重慶校區(qū)
  • 太原校區(qū)
  • 沈陽校區(qū)
  • 南昌校區(qū)
  • 哈爾濱校區(qū)
天天看片天天AV免费观看| 欧美激情XXXX| 欧美视频一区二区三区| 色综合色狠狠天天综合网| 亚洲AVTV永久综合在线| 野花免费观看日本电影哔哩哔哩| 97大学生情侣真实露脸在线 | 久久成人成狠狠爱综合网| 免费人成在线观看网站品善网| 日本在线 | 中文| 亚洲AV成人综合网成人| 中文无码热在线视频| 成人午夜亚洲精品无码网站 | 蜜臀av一区二区三区人妻| 日产无人区一线二线三线最新版| 午夜精品一区二区三区在线观看| 艳妇臀荡乳欲伦69调教视频| 差差差很疼免费软件APP下载| 国产麻豆VIDEOXXXX实拍| 久久久久人妻精品一区| 日韩产品和欧美产品的区别| 亚洲精品成人网久久久久久| JAPANESE VISA教师| 国产又色又爽又刺激在线观看| 免费看漫画在线成人漫画| 天天做天天爱夜夜夜爽毛片| 伊人久久大香线蕉综合影院首页| 大帝AV在线一区二区三区| 精品国精品国产自在久国产应用 | 亚洲午夜性春猛交ⅩXXX| 草莓视频IOS下载| 精品久久久久久狼人社区| 人妻精品久久久久中文字幕69| 亚洲AV无码成人精品区欧洲| AV网站免费线看| 孩教小UXXXⅩ精品| 人妻夜夜爽天天爽三区| 亚洲精品中文字幕久久久久| 草莓视频IOS下载| 久久国产加勒比精品无码| 色综合伊人色综合网站| 伊人久久大香线蕉午夜| 国产精品乱码久久久久久软件 | 中文字幕AV一区中文字幕天堂 | 锕锕锕锕锕锕~好深啊APP下载| 国精产品一二二线网站 | 爱丫爱丫影院电视剧| 精品人妻系列无码人妻漫画| 色婷婷亚洲十月十月色天| 又大又黄又粗又爽的免费视频| 国产成人综合亚洲精品| 欧美激情一区二区三区| 亚洲国产精品无码久久青草| 粗一硬一长一进一爽一A级| 旧里番美熟妇1一2集| 希露薇の繁殖计划游戏| 锕锕锕锕锕锕好污网站大全| 久久精品国产亚洲AV成人| 四虎影视永久无码精品| 51成品网站W灬源码16| 解开人妻的裙子猛烈进入| 十八禁午夜私人在线观看影院 | 亚洲国产成人精品女人久久久 | 色婷婷五月综合激情中文字幕| 中文字幕日韩人妻| 精品国产三级A在线观看| 特级西西WWW444人体聚色| 99久久精品免费观看国产| 叫吧宝贝我想听你叫什么| 天堂А√资源中文在线地址BT| 99久久精品无码专区| 久久99亚洲含羞草影院| 小洁和公H文翁17| 二男一女一起日B| 欧美肉体XXXX极品粗大| 怡红院AV一区二区三区| 狠狠躁夜夜躁无码中文字幕| 婷婷五月花丁香综合| 宝贝把腿抬高点我让你更爽漫画| 乱码精品一区二区三区| 亚洲欧美综合区丁香五月小说| 国产精品VA在线播放我和闺蜜| 人妻 清高 无码 中文字幕| 中国熟妇色XXXXX| 久久国产精品99国产精| 亚洲AV无码一区二区二三区我 | 亚洲大成色WWW永久泡芙| 国产高潮视频在线观看| 日韩GAY小鲜肉啪啪18禁| ASIAN艳丽的少妇PICS| 邻居把我弄的高潮三次面舞| 亚洲精品无码久久久久久小说| 国产色视频一区二区三区| 天天澡夜夜澡人人澡| 放学后的特殊教育桃子移植| 日本japanese人妻护士| CHINESE老女人老熟妇| 蜜臀AV网站在线观看| 亚洲最大的成人网站| 精品无码一区二区三区电影| 压在稚嫩的身体上耕耘| 国产AV大学生第一次破| 日韩精品一区二区三区四区蜜桃| JK白丝极品被CAO到流水呻吟| 男女啪啪无遮挡免费网站| 中国BGMBGMBGM老妇和青年交| 久久人妻少妇嫩草AV蜜桃| 亚洲日韩精品无码专区网站 | 欧洲无线一线二线三W955| 99精产国品一二三产区区| 免费A级毛片18禁网站APP| 中文无码一区二区不卡ΑV| 老头巨大挺进莹莹的体内免费视频| 亚洲一区二区无码偷拍| 久久精品丝袜高跟鞋| 亚洲午夜成人精品无码| 久久久久久精品免费免费英国 | 久久久久夜色精品国产明星| 一边做一边喷17P亚洲乱妇| 久久久久久精品免费看SSS| 亚洲最大成人综合网720P| 狼友AV永久网站免费观看武| 中国 韩国 日本 免费看片| 免费人成年激情视频在线观看| 自拍亚洲综合在线精品| 欧美成人精品 一区二区三区| 97人人超碰国产精品最新o| 欧美人与性囗牲恔配| YY6080久久亚洲精品| 日本亚洲色大成网站WWW久久| 成人区精品一区二区不卡| 熟妇高潮一区二区三区| 国产精品一区二区久久| 亚洲AV无码成人精品国产| 精品久久久无码中文字幕一丶 | 超级YIN荡的公司聚会| 特级AAAAAAAAA毛片免费| 国产乱子伦60女人的皮视频| 亚洲AV日韩精品久久久久久A| 精品国精品国产自在久国产应用男 | 亚洲精品卡2卡3卡4卡5卡区 | 夜夜躁狠狠躁日日躁视频| 免费A级毛片无码A∨蜜芽18禁| CHINESE勾搭VIDEOS| 色噜噜亚洲精品中文字幕| 国产精品人成视频免费播放| 亚洲成A人片在线播放| 乱JAPANESE偷窥PISS| MD豆传媒APP网址| 牲交A欧美牲交AⅤ免费一| 国产特级毛片AAAAAA视频| 亚洲欧美另类日本| 男女裸体下面进入的免费视频| JAPANESEⅩⅩⅩHD高潮| 熟妇人妻无码XXX视频| 国内精品自线一区二区三区2 | 久久天天躁狠狠躁夜夜2020| AV无码人妻无码男人的天堂| 少妇高潮喷水久久久影院| 国产综合久久亚洲综合| 亚洲色偷偷AV男人的天堂| 女局长白白嫩嫩大屁股| 出轨 无码 论坛| 亚洲CHINESE男同志GAY| 免费AV网站在线观看| 大J8黑人BBW巨大888| 亚洲AV无码久久精品香娇| 美女扒开腿让男人桶爽直播| 成人免费午夜无码视频| 性欧美ⅩXXXX极品少妇小说| 久久蜜桃86人妻arvi| 不知火舞和三个小男孩| 性XXⅩ欧美老妇肥老太| 雷神ちゃんが人気の原因| 成在线人免费无码高潮喷水| 亚洲AV无码专区在线电影| 男人激烈吮乳吃奶到高潮视频| 成熟丰满熟妇强av无码区| 亚洲AV永久无码精品尤物| 你的奶好大让老子摸摸的说说| 国产成 人 综合 亚洲专区| 亚洲熟妇色XXXXX中国少妇Y| 人妻 偷拍 无码 中文字幕| 国产麻豆剧传媒精品国产AV蜜桃| 夜夜躁狠狠躁2021| 三个媳妇一锅烩大团圆| 精品国产制服丝袜高跟| 帮妺妺洗澡忍不住C了她作文| 亚洲AV无码日韩精品影片| 欧美一级 片内射黑人B| 国产偷国产偷精品高清尤物| 20厘米的粗黑巨物挺进| 无码字幕AV一区二区三区| 免费网站看V片在线18禁| 国产精品国产三级国产试看| 在办公室把护士给爽了动态图| 日日澡夜夜澡人人高潮| 久久久久精品国产亚洲AV| 丰满少妇A级毛片| 呦系列视频一区二区三区|