我剛開始也在找這個(gè)問題的答案,現(xiàn)在解決了,為后面學(xué)習(xí)的人栽棵樹吧。
創(chuàng)新互聯(lián)是一家朝氣蓬勃的網(wǎng)站建設(shè)公司。公司專注于為企業(yè)提供信息化建設(shè)解決方案。從事網(wǎng)站開發(fā),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),網(wǎng)站模板,微信公眾號(hào)開發(fā),軟件開發(fā),微信平臺(tái)小程序開發(fā),10多年建站對(duì)成都宣傳片制作等多個(gè)方面,擁有豐富的網(wǎng)站運(yùn)維經(jīng)驗(yàn)。
實(shí)現(xiàn)這個(gè)功能有很多種方法,這里我選一種個(gè)人認(rèn)為比較簡(jiǎn)單的方法:
建立三個(gè)網(wǎng)頁(yè),一個(gè)作為主頁(yè)面,另外兩個(gè)子頁(yè)面作為切換頁(yè)面嵌入主頁(yè)面,子頁(yè)面也可以用文字替代。
用jQuery方法來切換頁(yè)面,語(yǔ)言比較簡(jiǎn)單網(wǎng)上搜一下看看就懂了
下面附上代碼
!DOCTYPE?html
html
head
meta?charset="UTF-8"
title標(biāo)題/title
!--jQuery?百度CDN庫(kù)--
script?src=""/script
script
//?jQuery代碼
$(document).ready(function?()?{
$("#b1").click(function?()?{
$("#tab_1").show();//?顯示
$("#tab_2").hide();//?隱藏
});
$("#b2").click(function?()?{
$("#tab_1").hide();
$("#tab_2").show();
});
});
/script
/head
body
div
h1標(biāo)題一/h1
/div
div
div
ul
libutton?id="b1"菜單1/button/li
libutton?id="b2"菜單2/button/li
/ul
/div
div
div?id="tab_1"
子頁(yè)面1
/div
div?id="tab_2"?style="display:?none"
子頁(yè)面2
/div
/div
/div
/body
/html
方法:1、直接貼圖:在界面上貼一個(gè)gif動(dòng)態(tài)等待效果圖片,gif圖片獲取方式:網(wǎng)上找素材,會(huì)ps的可以自己制作img src="wait.gif" /
2、CSS3/SVG/HTML5 Canvas手動(dòng)繪制等待效果:
這種效果:網(wǎng)上有很多類似素材,可以根據(jù)需要選擇,或使用上述技術(shù)繪制
下面提供一個(gè)CSS3繪制的范例
3、CSS的代碼如下:
style
.loading {
width:0;
height:0;
border-right:20px solid #fff;
border-top:20px solid #000;
border-left:20px solid #fff;
border-bottom:20px solid #000;
border-radius: 20px;
-moz-border-radius: 20px;
-webkit-border-radius: 20px;
}
.loading {
animation: bganim 0.6s linear 0s infinite;
-moz-animation: bganim 0.6s linear 0s infinite;
-webkit-animation: bganim 0.6s linear 0s infinite;
}
@keyframes bganim {
from { transform:rotate(0deg); } to { transform:rotate(360deg); }
}
@-moz-keyframes bganim {
from { -moz-transform:rotate(0deg); } to { -moz-transform:rotate(360deg); }
}
@-webkit-keyframes bganim {
from { -webkit-transform:rotate(0deg); } to { -webkit-transform:rotate(360deg); }
}
/style
4、labelCSS3效果/label,div class="loading"/div
效果如下圖:運(yùn)行機(jī)制很簡(jiǎn)單,先手動(dòng)繪制一個(gè)靜態(tài)的圖,然后控制對(duì)應(yīng)div進(jìn)行360度旋轉(zhuǎn),即可實(shí)現(xiàn)
5、使用js等待效果插件(如:spin.js)
6、JS代碼如下:
var opts = {
lines: 9,
length: 0,
width: 15,
radius: 20,
corners: 1,
rotate: 0,
direction: 1,
color: '#0101DF',
speed: 1,
trail: 34,
shadow: false,
hwaccel: false,
className: 'spinner',
zIndex: 2e9,
top: '50%',
left: '50%'
};
var target = document.getElementById('img_wait');
var spinner = new Spinner(opts).spin(target);
7、html代碼的引用:div id="img_wait"/div
8、打開測(cè)試,效果如下
!--?頁(yè)面,可以使用絕對(duì)或者相對(duì)路徑?--?
link?rel="prefetch"?href="page2.html"?/?
!--?圖片,也可以是其他類型的文件?--?
link?rel="prefetch"?href="sprite.png"?/
從上面的HTML代碼可以看出,預(yù)加載使用 link 標(biāo)簽,并指定 rel="prefetch" 屬性,而href屬性就是需要預(yù)加載的文件路徑。而Mozilla還實(shí)現(xiàn)了一些類似的 link rel 屬性:
link?rel="prefetch?alternate?stylesheet"?title="Designed?for?Mozilla"?href="mozspecific.css"?/?
link?rel="next"?href="2.html"?/
備注: https 協(xié)議也同樣支持。
何時(shí)需要預(yù)加載?
網(wǎng)站是否采用預(yù)加載取決于你的需求,下面是一些建議:?
- 如果一系列的頁(yè)面幻燈片一樣展示,那么可以預(yù)加載前后各1至3個(gè)頁(yè)面.?
- 加載網(wǎng)站內(nèi)部通用的圖片?
- 在搜索結(jié)果頁(yè)預(yù)加載下一頁(yè)
阻止預(yù)加載?
Firefox 允許禁止預(yù)加載模式,代碼如下:?
user_pref("network.prefetch-next",?false);