JS+CSS實(shí)現(xiàn)圖片預(yù)加載與背景圖上中下切圖
圖片預(yù)加載
為什么使用圖片預(yù)加載
為什么會(huì)考慮使用圖片預(yù)加載呢?你是否曾有個(gè)網(wǎng)站,在那個(gè)網(wǎng)站你要滾動(dòng)你的導(dǎo)航然后有個(gè)延遲直到圖片被加載完……預(yù)加載將在這方面幫助你。
它將在頁面加載的時(shí)候加載那些圖片并將其存儲(chǔ)在瀏覽器的緩存里面。這樣當(dāng)用戶滾動(dòng)導(dǎo)航的時(shí)候,很漂亮而且流暢,沒有延遲。
下面整理常用的圖片預(yù)加載:
1.使用純的css進(jìn)行圖片預(yù)加載
body:after {
content: "";
display: block;
position: absolute;
background:
url("../image/manage/help/01.png") no-repeat -10000px -1000px,
url("../image/manage/help/02.png") no-repeat -10000px -1000px,
url("../image/manage/help/03.png") no-repeat -10000px -1000px,
url("../image/manage/help/04.png") no-repeat -10000px -1000px,
url("../image/manage/help/05.png") no-repeat -10000px -1000px,
width: 0;
height: 0
}2.使用純javascript進(jìn)行圖片預(yù)加載
(function(){
var imgSrcArr = [
'image/1.png',
'image/2.png',
'image/3.png',
'image/4.png',
'image/5.png',
'image/6.png',
'image/7.png'
];
var imgWrap = [];
function preloadImg(arr) {
for(var i =0; i< arr.length ;i++) {
imgWrap[i] = new Image();
imgWrap[i].src = arr[i];
}
}
setTimeout(function(){preloadImg(imgSrcArr)},5000)
}());3.使用css+js方式進(jìn)行圖片預(yù)加載
css
.preload-img:after{
content: "";
display: block;
position: absolute;
background:
url("../image/manage/help/01.png") no-repeat -10000px -1000px,
url("../image/manage/help/02.png") no-repeat -10000px -1000px,
url("../image/manage/help/03.png") no-repeat -10000px -1000px,
url("../image/manage/help/04.png") no-repeat -10000px -1000px,
url("../image/manage/help/05.png") no-repeat -10000px -1000px,
width: 0;
height: 0
}js
/*
比如我們寫了上面的這樣一個(gè)類,但是頁面中沒有用到,我們?cè)谖臋n加載完畢之后,給某個(gè)元素添加該類
*/
$("#target").addClass("preload-img")背景圖上中下切圖方案
工作中經(jīng)常會(huì)遇到將背景圖切為三個(gè)部分: 上部、中部、下部。
上部和下部:上部和下部使用容器的多背景圖實(shí)現(xiàn)。
中部:使用絕對(duì)定位容器的方式解決。
html部分:
<section class="content-wrap">
<div class="line-wrap">
</div>
<p>我是內(nèi)容</p>
</section>css部分:
.content-wrap{
position: relative;
background:url('/images/top-bg.png') left top no-repeat,
url('/images/bottom-bg.png') left bottom no-repeat;
background-size:100% auto;
.line-wrap{
position: absolute;left:0;top:4.8rem;bottom:2.73rem;z-index:-1;
width:100%;
background:url('/images/middle-bg.png') left top repeat-y;
background-size:100% auto;
}
}以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
基于jQuery的可以控制左右滾動(dòng)及自動(dòng)滾動(dòng)效果的代碼
迷上jQuery,相對(duì)于原生JavaScript,它是如此的美妙.也因此,促使我更加的努力的研習(xí)原生JavaScript.2010-07-07
jQuery解析XML與傳統(tǒng)JavaScript方法的差別實(shí)例分析
這篇文章主要介紹了jQuery解析XML與傳統(tǒng)JavaScript方法的差別,實(shí)例分析了jQuery與javascript解析XML文件的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03
jQuery插件slick實(shí)現(xiàn)響應(yīng)式移動(dòng)端幻燈片圖片切換特效
jQuery插件slick是一款響應(yīng)式、適用于移動(dòng)設(shè)備觸摸屏、可滑動(dòng)顯示的jQuery幻燈片插件。該幻燈片插件可以設(shè)置多種顯示效果,可以自動(dòng)播放,是一款移動(dòng)優(yōu)先的jQuery幻燈片插件。2015-04-04
jQuery Real Person驗(yàn)證碼插件防止表單自動(dòng)提交
這篇文章為大家介紹了一款jQuery驗(yàn)證碼插件Real Person,可以防止自動(dòng)提交表單2015-11-11
Javascript 鏈?zhǔn)秸{(diào)用實(shí)現(xiàn)代碼(參考jquery)
謂的鏈?zhǔn)秸{(diào)用無非是一個(gè)語法技巧而已,我就學(xué)Jquery寫了一個(gè)粗淺的庫(kù)。2010-05-05
jQuery中jqGrid分頁實(shí)現(xiàn)代碼
今天看到j(luò)avaeye上有人使用了jqGrid實(shí)現(xiàn)了數(shù)據(jù)的分頁,參考它的代碼,實(shí)現(xiàn)了這個(gè)功能,搬出來曬曬,作為自己以后學(xué)習(xí)的資料2011-11-11

