html完成圖片預加載的區分(附代碼)
發表時間:2023-09-07 來源:明輝站整理相關軟件相關文章人氣:
[摘要]這篇文章給大家介紹的內容是關于html實現圖片預加載的分析(附代碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。很多時候,我們在寫html頁面的時候,當需要在頁面中加入圖片時,我們很自然地把圖片直接用<img>標簽放在了<body>里面,這本來是沒有多大...
這篇文章給大家介紹的內容是關于html實現圖片預加載的分析(附代碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
很多時候,我們在寫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>
<p class="showpic">
<img src="img/pexels-photo-297814.jpeg" id="img">
</p>
<p class="button-box">
<button type="button" value="前一張" data-control="prev" class="button">前一張</button>
<button type="button" value="后一張" data-control="next" class="button">后一張</button>
</p>
<p class="preload"></p><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]);
});
});
這個案例我是要實現通過點擊按鈕實現圖片的展示過程。顯然,我在<p class="showpic">盒子的<img>標簽里面只是放了一張圖片(避免頁面打開是什么也沒有),并沒有把全部可以展示的圖片都放在盒子里面。因為這樣勢必會加大web瀏覽器解析html頁面的壓力。
我把這些圖片的所有搜索路徑的放在了js代碼中,并通過修改src屬性的方法來更新<img>標簽,其中我還用到了html的data屬性來自定義點擊按鈕的類型,并通過在js中獲取這個data值來確定圖片路徑的更改。
這樣的實現,就比較有利于減輕html頁面解析過程中對瀏覽器解析器的壓力。
相關文章推薦:
如何來簡述html的基本結構(附代碼)
HTML中元信息meta標記屬性的分析(附代碼)
以上就是html實現圖片預加載的分析(附代碼)的詳細內容,更多請關注php中文網其它相關文章!
網站建設是一個廣義的術語,涵蓋了許多不同的技能和學科中所使用的生產和維護的網站。