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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

关于图片预加载的思考

發布時間:2023/12/2 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于图片预加载的思考 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

引子:

很多時候,我們在寫html頁面的時候,當需要在頁面中加入圖片時,我們很自然地把圖片直接用<img>標簽放在了<body>里面,這本來是沒有多大問題的。

但是當圖片數量很多的時候,問題就來了。Html頁面在被解析器解析的時候要不斷去尋找圖片的路徑去加載圖片,而這些圖片不一定所以都會被用戶通過觸發一些類似點擊的操作所看到。這樣,一些不必要的圖片預加載就會拉長了頁面的加載時間,帶來的用戶體驗是不好的。

為了解決這個性能問題,有一個比較好的解決問題就是用js去延遲圖片預加載。那么具體的實現過程是怎樣的呢?

我先把我實現的代碼放在下面:

<html lang="en"> <head><meta charset="UTF-8"><title>Document</title> <style>body{position:relative;text-decoration: none;list-style: none;}.showpic{position:absolute;height:550px;width:90%;margin-left:80px;background-color: black;}.button-box{position: absolute;margin-top:560px;margin-left: 600px;z-index: 5;}.preload{position: fixed;height: 100%;width:100%;top:0;background-color: white;display: none;}img{position: absolute;margin-left: 30px;margin-top: 3px;}button{height: 30px;width:80px;font-size: 10px;} </style> <script src="https://code.jquery.com/jquery-1.12.4.js"></script> </head><body><div class="showpic"><img src="img/pexels-photo-297814.jpeg" id="img"></div><div class="button-box"><button type="button" value="前一張" data-control="prev" class="button">前一張</button><button type="button" value="后一張" data-control="next" class="button">后一張</button></div><div class="preload"></div><script type="text/javascript" src="js/preload.js"></script> </body> </html>$(document).ready(function(){var imgs = ["img/pexels-photo-297814.jpeg","img/pexels-photo-465445.jpeg","img/pexels-photo-619948.jpeg","img/pexels-photo-620336.jpeg","img/pexels-photo-885746.jpeg","img/pexels-photo-886109.jpeg","img/pexels-photo-888994.jpeg"];var index = 0,len =imgs.length;$(".button").on("click",function(){if($(this).data('control')=== "prev"){index = Math.max(0,--index);}else{index = Math.min(len-1, index);}$("#img").attr("src",imgs[index]);});});

?

?

?

?

這個案例我是要實現通過點擊按鈕實現圖片的展示過程。顯然,我在<div class="showpic">盒子的<img>標簽里面只是放了一張圖片(避免頁面打開是什么也沒有),并沒有把全部可以展示的圖片都放在盒子里面。因為這樣勢必會加大web瀏覽器解析html頁面的壓力。

我把這些圖片的所有搜索路徑的放在了js代碼中,并通過修改src屬性的方法來更新<img>標簽,其中我還用到了html的data屬性來自定義點擊按鈕的類型,并通過在js中獲取這個data值來確定圖片路徑的更改。

這樣的實現,就比較有利于減輕html頁面解析過程中對瀏覽器解析器的壓力。

?

本文轉載于:猿2048?https://www.mk2048.com/blog/blog.php?id=ijckjaa&title=關于圖片預加載的思考

總結

以上是生活随笔為你收集整理的关于图片预加载的思考的全部內容,希望文章能夠幫你解決所遇到的問題。

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