Ajax 異步請(qǐng)求的時(shí)候,一般都會(huì)利用一個(gè)動(dòng)態(tài)的 gif小圖片來(lái)制作一個(gè)Ajax Loading ,以便增加用戶體驗(yàn)。
這里我們使用Spin.js ,該 js 腳本壓縮后5k,可以不用任何圖片,任何外部的CSS樣式,就可以創(chuàng)建一個(gè)Ajax Loading 指示器
Spin.js 的在線設(shè)計(jì)、演示及下載地址為:http://fgnass.github.io/spin.js/
我們可以在鏈接頁(yè)面中,動(dòng)態(tài)設(shè)置樣式同時(shí)會(huì)自動(dòng)生成樣式的配置腳本:
Spin.js 用法極其的簡(jiǎn)單:
顯示 spinner
var target=document.getElementById("id")
spinner.spin(target);
隱藏 spinner
spinner.spin();
我們來(lái)做一個(gè)簡(jiǎn)單完整的例子,來(lái)體驗(yàn)一次吧:
script type="text/javascript" src="zepto.min.js">/script>
script type="text/javascript" src="spin.min.js">/script>
script type="text/javascript">
//第一個(gè)參數(shù)為loading圖標(biāo)加載的標(biāo)簽,第二個(gè)為ajax的數(shù)據(jù)接口,第三個(gè)為回調(diào)函數(shù)。
function loadAjaxSpin(ele, get_url, callback) {
var opts = {
lines: 13, // 花瓣數(shù)目
length: 20, // 花瓣長(zhǎng)度
width: 10, // 花瓣寬度
radius: 30, // 花瓣距中心半徑
scale: 1,
corners: 1, // 花瓣圓滑度 (0-1)
color: '#000', // 花瓣顏色
opacity: 0.25,
rotate: 0, // 花瓣旋轉(zhuǎn)角度
direction: 1, // 花瓣旋轉(zhuǎn)方向 1: 順時(shí)針, -1: 逆時(shí)針
speed: 1, // 花瓣旋轉(zhuǎn)速度
trail: 60, // 花瓣旋轉(zhuǎn)時(shí)的拖影(百分比)
zIndex: 2e9, // spinner的z軸 (默認(rèn)是2000000000)
className: 'spinner', // spinner css 樣式名稱
top: '50%', // spinner 相對(duì)父容器Top定位 單位 px
left: '50%', // spinner 相對(duì)父容器Left定位 單位 px
shadow: false, // 花瓣是否顯示陰影
hwaccel: false, //spinner 是否啟用硬件加速及高速旋轉(zhuǎn)
position: 'absolute'
};
var spinner = new Spinner(opts);
$(ele).show();
var target = $(ele)[0];
spinner.spin(target);
$.ajax({
url: get_url,
dataType: 'html',
success: function(data) {
spinner.spin();
$(ele).hide();
callback(data);
}
})
}
var foo = function(data) {
console.log(data);
}
$(function() {
$('#btnRequest').on('click', function() {
loadAjaxSpin('.spin', 'http://192.168.1.191/h5/font.html', foo);
});
});
/script>
div class="spin">/div>
div>
input id="btnRequest" type="button" value="請(qǐng)求數(shù)據(jù)" />
/div>
上面例子中,我們寫(xiě)了一個(gè)函數(shù)loadAjaxSpin,作用是ajax調(diào)用開(kāi)始前 出現(xiàn)loading圖標(biāo),數(shù)據(jù)加載完成后loading圖標(biāo)消失
效果:點(diǎn)擊后顯示出菊花,然后執(zhí)行回調(diào)函數(shù)。
您可能感興趣的文章:- MVC Ajax Helper或Jquery異步加載部分視圖
- Jquery ajax加載等待執(zhí)行結(jié)束再繼續(xù)執(zhí)行下面代碼操作
- JS基于Ajax實(shí)現(xiàn)的網(wǎng)頁(yè)Loading效果代碼
- Ajax風(fēng)格的一款網(wǎng)頁(yè)Loading效果
- dwz 如何去掉ajaxloading具體代碼
- Ajax loading gif generator