手机站全局的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事件不管哪个添加监听之后,链接就不会跳转了,如果谁有好的解决方案,希望能告诉我!先谢过了....

本人水平有限,实现方式比较低级,欢迎吐槽,共同进步...

posted @ 2015-02-03 16:16  人生无赖  阅读(2566)  评论(0编辑  收藏  举报