這次帶給大家Ajax實作載入快取的loding效果,Ajax實作載入快取loding效果的注意事項有哪些,下面就是實戰案例,一起來看一下。
Ajax 非同步請求的時候,一般都會利用一個動態的 gif小圖片來製作一個Ajax Loading ,以便增加使用者體驗。
這裡我們使用Spin.js ,該js 腳本壓縮後5k,可以不用任何圖片,任何外部的CSS樣式,就可以創建一個Ajax Loading 指示器
Spin. js 的線上設計、示範及下載網址為:http://fgnass.github.io/spin.js/
我們可以在連結頁面中,動態設定樣式同時會自動產生樣式的設定腳本:
Spin.js 用法極其的簡單:
顯示spinner
var target=document.getElementById("id") spinner.spin(target);
隱藏spinner
spinner.spin();
我們來做一個簡單完整的例子,來體驗一次:
<script type="text/javascript" src="zepto.min.js"></script> <script type="text/javascript" src="spin.min.js"></script> <script type="text/javascript"> //第一个参数为loading图标加载的标签,第二个为ajax的数据接口,第三个为回调函数。 function loadAjaxSpin(ele, get_url, callback) { var opts = { lines: 13, // 花瓣数目 length: 20, // 花瓣长度 width: 10, // 花瓣宽度 radius: 30, // 花瓣距中心半径 scale: 1, corners: 1, // 花瓣圆滑度 (0-1) color: '#000', // 花瓣颜色 opacity: 0.25, rotate: 0, // 花瓣旋转角度 direction: 1, // 花瓣旋转方向 1: 顺时针, -1: 逆时针 speed: 1, // 花瓣旋转速度 trail: 60, // 花瓣旋转时的拖影(百分比) zIndex: 2e9, // spinner的z轴 (默认是2000000000) className: 'spinner', // spinner css 样式名称 top: '50%', // spinner 相对父容器Top定位 单位 px left: '50%', // spinner 相对父容器Left定位 单位 px shadow: false, // 花瓣是否显示阴影 hwaccel: false, //spinner 是否启用硬件加速及高速旋转 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> <p class="spin"></p> <p> <input id="btnRequest" type="button" value="请求数据" /> </p>
在上述範例中,我們寫了一個函數loadAjaxSpin,作用是ajax呼叫開始前出現loading圖標,資料載入完成後loading圖示消失
效果:點選後顯示出菊花,然後執行回呼函數。
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
#以上是Ajax實作載入快取的loding效果的詳細內容。更多資訊請關注PHP中文網其他相關文章!