我們在前端頁面開發(fā)過程中,經(jīng)常會遇到圖片,音頻,視頻等加載慢問題。這樣對用戶體驗(yàn)來說體驗(yàn)是很不好的。因此我們可以在頁面加載時(shí)用一個(gè)加載動(dòng)效來表示,當(dāng)加載完成的時(shí)候,再來顯示內(nèi)容。推薦一個(gè)制作進(jìn)度條的網(wǎng)站
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊、虛擬主機(jī)、營銷軟件、網(wǎng)站建設(shè)、清遠(yuǎn)網(wǎng)站維護(hù)、網(wǎng)站推廣。
icons8.com/preloaders/ ,制作進(jìn)入條有以下幾種方法。
這種方法實(shí)現(xiàn)進(jìn)度條簡單粗暴,但是不是真實(shí)的。所以開發(fā)中一般不用這個(gè)。
我們通過jquery來實(shí)現(xiàn),這個(gè)方法開發(fā)中經(jīng)常用的。
二樓的方法不是常規(guī)的解決辦法,個(gè)人感覺不是很好(不過他實(shí)現(xiàn)的加載進(jìn)度是真實(shí)的,他的進(jìn)度條是可以反映當(dāng)前未加載頁面的剩余內(nèi)容的---其實(shí)這種方法也挺好....不過一般情況下沒什么必要吧,如果要做成這樣的,用flex更好)。
一樓的方法不是正確的。如果簡單地放一個(gè)loading圖片在頁面上的話,會有兩種情況:一、有可能實(shí)現(xiàn)加載的效果 。 二、在整個(gè)頁面其它元素加載了大部分或全部后,這張圖片才加載進(jìn)來,那就實(shí)現(xiàn)不了加載的效果了。
常規(guī)的解決辦法還是用ajax比較好。大概是這樣的。
需要兩個(gè)頁面。1.一個(gè)是實(shí)際頁面本身 2.另一個(gè)是一個(gè)空白頁面放一張loading圖片
先請求第2個(gè)頁面,在這個(gè)頁面中放一段ajax請求第1個(gè)頁面,在success函數(shù)里將頁面內(nèi)容輸出,并將loading圖片隱藏掉。
代碼是這樣的:
loading page:
body
img id='loadingImg' src='loading.gif' /
body
script
$.ajax({
type: 'GET',
url: 實(shí)際頁面路徑,
data: {},
success: function(){
$('body').append(data);
$('#loadingImg').hide();//或直接remove()
},
dataType: 'html'
});
/script
==========================================================
呵呵,一個(gè)加載的問題要考慮搜索的話原來就這么麻煩了。 div id="forspider".....給搜索蜘蛛看的純HTML..../div這里面的內(nèi)容是整個(gè)實(shí)際頁面的HTML嗎?是的話,那這個(gè)loading頁面本身加載就很笨重了,還不如直接跳到真實(shí)頁面呢。 哎,可惜我不太懂搜索,悲劇。請指教----為什么要用絕對定位覆蓋的方法來隱藏。直接把這一層display:none的話蜘蛛也會看不到嗎?
以上回答你滿意么?
jquery加載頁面的方法(頁面加載完成就執(zhí)行),看下windows.onload$(document).ready之間的區(qū)別。
1、$(function(){
$("#a").click(function(){
//adding your code here
});
});
2、$(document).ready(function(){
$("#a").click(function(){
//adding your code here
});
});
3、window.onload = function(){
$("#a").click(function(){
//adding your code here
});
}
html代碼為input
type="button" id="a"點(diǎn)擊/input,且頁面需要引用jquery的js文件
一般的加載頁面時(shí)調(diào)用js方法如下:
window.onload = function() {
$("table
tr:nth-child(even)").addClass("even"); //這個(gè)是jquery代碼
};
這段代碼會在整個(gè)頁面的document全部加載完成以后執(zhí)行。不幸的這種方式不僅要求頁面的DOM
tree全部加載完成,而且要求所有的外部圖片和資源全部加載完成。更不幸的是,如果外部資源,例如圖片需要很長時(shí)間來加載,那么這個(gè)js效果就會讓用戶感覺失效了。
但是用jquery的方法:
$(document).ready(function() {
//
任何需要執(zhí)行的js特效
$("table tr:nth-child(even)").addClass("even");
});
就僅僅只需要加載所有的DOM結(jié)構(gòu),在瀏覽器把所有的HTML放入DOM tree之前就執(zhí)行js效果。包括在加載外部圖片和資源之前。
還有一種簡寫的方式:
$(function() {
// 任何需要執(zhí)行的js特效
$("table
tr:nth-child(even)").addClass("even");
});
目前jquery 已經(jīng)達(dá)到了上百K。min壓縮版本也很大
所以下面說一下如何 提高 jquery在網(wǎng)站的加載速度:
1 使用合適的版本,不一定最新的jquery庫就最適合你的網(wǎng)站。可能你的js代碼,可能只需要一個(gè)1.6版本的Jquery。但是卻引用了一個(gè)1.8版本的jquery。無意中體積增加了幾十K.
2 發(fā)布網(wǎng)站之后,使用 min版本。
如圖 壓縮版本和未壓縮版本,體積差了180K。
3 如果網(wǎng)站帶寬比較緊張或是所在機(jī)房不是全網(wǎng)機(jī)房??梢允褂胘query CDN加速。
讓CDN加速給客戶端瀏覽器下載jquery,可以減少不少帶寬。
CND jquery 網(wǎng)址:(直接在jquery 官網(wǎng),download頁面即可)
JQ官網(wǎng)提供CND加速,google,microsoft 也提供。
請通過chrome的調(diào)試器,查看各個(gè)CDN的加載時(shí)間,綜合選擇適合自己網(wǎng)址的Jquery加速服務(wù)
常規(guī)的解決辦法還是用ajax比較好。大概是這樣的。
需要兩個(gè)頁面。
1.一個(gè)是實(shí)際頁面本身 ?
2.另一個(gè)是一個(gè)空白頁面放一張loading圖片
先請求第2個(gè)頁面,在這個(gè)頁面中放一段ajax請求第1個(gè)頁面,在success函數(shù)里將頁面內(nèi)容輸出,并將loading圖片隱藏掉。
代碼是這樣的:loading page:body ? ?img id='loadingImg' src='loading.gif' /bodyscript ?$.ajax({ type: 'GET', url: 實(shí)際頁面路徑, data: {} ? success: function() $('body').append(data) ? $('#loadingImg').hide();//或直接remove() ? ?}, ?dataType: 'html' ? ?});/script
電腦黑屏解決方法:
1、檢查顯示器與電腦的連接線是否安裝緊密;
2、取下電腦內(nèi)存條,用橡皮擦拭金手指后放回(接觸不良會造成電腦開機(jī)黑屏);
3、更換內(nèi)存、顯卡、顯示器、連接線診斷故障所在。
4、系統(tǒng)文件損壞,重裝系統(tǒng)。
這是一種解決方法~
1、制作啟動(dòng)盤。(W7系統(tǒng)4G U盤,XP系統(tǒng)2G U盤)下載大番薯u盤啟動(dòng)制作工具,安裝軟件,啟動(dòng),按提示制作好啟動(dòng)盤
2、下載一個(gè)你要安裝的系統(tǒng),壓縮型系統(tǒng)文件解壓(ISO型系統(tǒng)文件直接轉(zhuǎn)到U盤)到你制作好的U盤,啟動(dòng)盤就做好了
3、用U盤安裝系統(tǒng)。插入U(xiǎn)盤開機(jī),按DEL或其它鍵進(jìn)入BIOS,設(shè)置從USB啟動(dòng)-F10-Y-回車。按提示安裝系統(tǒng)
4、安裝完成后,拔出U盤,電腦自動(dòng)重啟,點(diǎn)擊:從本地硬盤啟動(dòng)電腦,繼續(xù)安裝
5、安裝完成后,重啟。開機(jī)-進(jìn)入BIOS-設(shè)置電腦從硬盤啟動(dòng)-F10-Y-回車。