手機站全局的html+css加載等待效果


本文只提供思路,CSS神馬的自己定制吧,JS是可以優化的,比如,輸出圖片的JS也可以放到showdiv()里面,我沒有做優化,只是實現,別笑話我,我比較懶...

基本思路:由於Html的解析是從上到下的,所以,可以在母版頁(MVC中的LayOut)頁面最上面輸出一個遮罩層和一張等待效果的圖片,這樣子,頁面打開的時候,就會有一個等待效果了。代碼如下:

注意:下面這些代碼一定是放到頁面的最前面的,放到后面可能就不太好了。

 1 <head>
 3         <style type="text/css">
 4             #loading {
 5                 /*margin-top:300px;*/
 6                 position: absolute;
 7                 top: 40%;
 8                 left: 60%;
 9                 margin-left: -75px;
10                 text-align: center;
11                 line-height: 25px;
12                 font-size: 12px;
13                 font-weight: bold;
14                 color: #F00;
15                 z-index: 1002;
16             }
17             #bg {
18                 display: none;
19                 position: absolute;
20                 top: 0%;
21                 left: 0%;
22                 width: 100%;
23                 height: 100%;
24                 background-color: black;
25                 z-index: 1001;
26                 -moz-opacity: 0.6;
27                 opacity: .60;
28                 filter: alpha(opacity=60);
29             }
30         </style>
31         <script type="text/javascript">
32             function showdiv() {
33                 document.getElementById("bg").style.display = "block";
34             }
35             function hidediv() {
36                 document.getElementById("bg").style.display = 'none';
37             }
38             document.write("<img src='/loading.gif' id='loading' /><div id='bg'></div>");
39             showdiv();
40         </script>

第二步:給所有的的點擊事件加上遮罩等待效果:

1 $("a").click(function () {
2             showdiv();
3             $("#loading").fadeIn();
4         });

第三步:加載完了隱藏遮罩層和等待圖片:

頁面加載完成隱藏

1 $(function() {
2             $('#loading').fadeOut();
3             hidediv();
4         });

AJAX請求加上效果,請求完成隱藏

 $(function () {
            // 設置jQuery Ajax全局的參數  
            $.ajaxSetup({
                beforeSend: function () {
                    showdiv();
                    $("#loading").fadeIn();
                },
                complete:function() {
                    $('#loading').fadeOut();
                    hidediv();
                },
            });
        });

 

AJAX我沒有經過測試放出來的,如果有錯誤,希望能及時告訴我...

在手機上,應該是去監聽它的Touch事件比較好,但是我給TouchStart事件和Touched事件不管哪個添加監聽之后,鏈接就不會跳轉了,如果誰有好的解決方案,希望能告訴我!先謝過了....

本人水平有限,實現方式比較低級,歡迎吐槽,共同進步...


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM