How to make Gmail like loading progress bar

前端 未结 4 645
栀梦
栀梦 2021-02-10 03:29

I want create a loading progress bar like Gmail in center and top of the page, and work in all browsers

相关标签:
4条回答
  • 2021-02-10 03:41

    You will need to use a mix of jQueryUI ProgressBar and jQuery FancyBox which can hold content (like a progressbar).

    0 讨论(0)
  • 2021-02-10 03:48

    You sir need to use $(document).ajaxStart() and $(document).ajaxStop() to achieve that with jQuery.

    http://api.jquery.com/ajaxStart/
    http://api.jquery.com/ajaxStop/

    This might be not exactly what your looking for, but it will help you get started: http://yensdesign.com/2008/11/how-to-create-a-stylish-loading-bar-as-gmail-in-javascript/

    0 讨论(0)
  • 2021-02-10 03:50

    You can use the jQuery UI Progressbar plugin. As your page loads the data it needs, update the value of the progress bar.

    0 讨论(0)
  • 2021-02-10 03:57

    this is basic code

    <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
        <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
        <head>
            <style>
                body{
                    margin:0px;
                }
                #state{
                    width:100px;
                    height:30px;
                    background:#FEE27C;
                    position:fixed !important; 
                    position:absolute /* fallback for IE6 */;
                }
            </style>
            <script language=javascript type='text/javascript' >
                function set(){
                    var s = screen_now_size();
                    margin_right = (s['width']-100)/2;
    
                    //append or change margin right size
                    var state_layer = document.getElementById("state");
                    state_layer.style.right      = margin_right+"px"
                }
    
                function screen_now_size(){ // get screen current size
                    var a=new Array();
                    if(typeof document.compatMode!='undefined'&&document.compatMode!='BackCompat'){
                      a["width"]=document.documentElement.clientWidth;
                      a["height"]=document.documentElement.scrollTop+document.body.clientHeight;
                    }else{
                      a["width"]=document.body.clientWidth;
                      a["height"]=document.body.scrollTop+document.documentElement.clientHeight;
                      }
                    return a;
                }
            </script>
        </head>
        <body onload='set()'>
            <div id='state'></div>
            <!--for test:-->
            <br><br><br><br><br><br><br><br><br><br><br><br><br><br>
            <br><br><br><br><br><br><br><br><br><br><br><br><br><br>
            <br><br><br><br><br><br><br><br><br><br><br><br><br><br>
            for test
        </body>
        </html>
    
    0 讨论(0)
提交回复
热议问题