Окно загрузки сайта

Тема в разделе "HTML, CSS, XML, JavaScript", создана пользователем MarSIC, 23 ноя 2008.

  1. MarSIC

    MarSIC Гость

    В общем страничка написана на html и jQuery. Причем написан похоже коряво, так как загружается на малых скоростях сначало не правильно (то есть все блоки встают в разброс и только после все отображается нормально). Хотелось бы чтоб этого не происходило, то есть чтоб сначало пользователь заходил на страницу загрузки (что-нибудь типо анимашки "от 0% до 100%") и после его пересылали на уже загруженный сайт (примерно так же как и на сайте диснеевского мультика валл-и и прочих)
    Может кто помочь? ps я чайник, умею только редактировать готовые коды.
     
  2. GOsha

    GOsha Гость

    )))) Значит скажу тебе честно. я даже не дожидаюсь загрузки таких страниц, потому что читать сайт можно даже пока он не собрался, я сидеть и тупо втыкать в прогрессбар - скука смертная.
    Все равно скину парочку древноты - смотри:
    Вариант 1:
    Код (Text):
    <html>
    <head>
    <title>WOscripts.com - JavaScript - LoadingBar</title>
    <META http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <META NAME="description" CONTENT="Коллекции CGI, PHP, JavaScript скриптов, Java апплеты, огромное количество документации по разным языкам программирования, анимированные гифы, фоны, полезные программы, форум, ссылки по теме.">
    <META NAME="keywords" CONTENT="perl scripts, perl, cgi scripts, cgi, перл, java, java scripts, веб-программирование, web-programming, html, каталог ссылок, документация по веб-программированию, cgi скрипты, java скрипты, игры, java апплеты, апплеты, гифы, скрипты, скрипт, книги по веб-программированию, форум по perl, CGI, Perl, script, HTML">


    <!-- HEAD START HERE -->

    <style type="text/css">
    #divLoadCont {position:absolute; z-index:500; left:0px; top:0px; width:100%; height:98%; clip:rect(0px 100% 100% 0px); background-color:#ffffff; layer-background-color:#ffffff;}
    #divLoad1   {position:absolute; layer-background-color:silver; background-color:silver;}
    #divLoad2   {position:absolute; left:0px; top:0px; layer-background-color:navy; background-color:navy;}
    #divLoadText {position:absolute; background-color:transparent; font-family:arial,helvetica,sans-serif; color:navy; font-size:14px;}
    </style>
    <script language="JavaScript" type="text/javascript">
    /********************************************************************************
    **  
    LoadingBar
    *  Copyright (C) 2001 Thomas Brattli
    *  This script was released at WOscripts.com
    *  Visit for more great scripts!
    *  This may be used and changed freely as long as this msg is intact!
    *  We will also appreciate any links you could give us.
    ********************************************************************************
    */

    function lib_bwcheck(){ //Browsercheck (needed)
    this.ver=navigator.appVersion
    this.agent=navigator.userAgent
    this.dom=document.getElementById?1:0
    this.opera5=this.agent.indexOf("Opera 5")>-1
    this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0;
    this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
    this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
    this.ie=this.ie4||this.ie5||this.ie6
    this.mac=this.agent.indexOf("Mac")>-1
    this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0;
    this.ns4=(document.layers && !this.dom)?1:0;
    this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
    return this
    }
    var bw=new lib_bwcheck()



    /*VARIABLES TO SET START: */
    numImages = 10  //How many images you have in your page
    loaderWidth = 300 //The width of the loadbar
    /*
    All other settings, like colors fonts and stuff like that you
    have to change in the STYLE section.

    IMPORTANT:
    To make this actually show the correct results
    you have to place THIS code in all images:
    onload="loadIt(1)"

    Which means that your image should look
    something like this:
    <img src="whatever.gif" width="10" border="0" height="10" onload="loadIt(1)">


    VARIABLES TO SET END: */



    // A unit of measure that will be added when setting the position of a layer.
    var px = bw.ns4||window.opera?"":"px";

    currentImg = 0
    //Document size object ********
    function lib_doc_size(){
    this.x=0;this.x2=bw.ie && document.body.offsetWidth-20||innerWidth||0;
    this.y=0;this.y2=bw.ie && document.body.offsetHeight-5||innerHeight||0;
    if(!this.x2||!this.y2) return message('Document has no width or height')
    this.x50=this.x2/2;this.y50=this.y2/2;
    return this;
    }

    //Lib objects ********************
    function lib_obj(obj,nest){
    nest=(!nest) ? "":'document.'+nest+'.'
    this.evnt=bw.dom? document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+"document.layers." +obj):0;   
    this.css=bw.dom||bw.ie4?this.evnt.style:this.evnt;
    this.ref=this.css
    this.w=this.evnt.offsetWidth||this.css.clip.width||
    this.ref.width||this.css.pixelWidth||0;
    return this
    }
    //Moving object to **************
    lib_obj.prototype.moveIt = function(x,y){
    this.x=x; this.y=y; this.css.left=x+px; this.css.top=y+px;
    }
    //Clipping object to ******
    lib_obj.prototype.clipTo = function(t,r,b,l,setwidth){
    this.ct=t; this.cr=r; this.cb=b; this.cl=l
    if(bw.ns4){
    this.css.clip.top=t;this.css.clip.right=r
    this.css.clip.bottom=b;this.css.clip.left=l
    }else{
    if(t<0)t=0;if(r<0)r=0;if(b<0)b=0;if(b<0)b=0
    this.css.clip="rect("+t+"px "+r+"px "+b+"px "+l+"px)";
    if (setwidth){
    this.css.pixelWidth = r;
    this.css.pixelHeight = b;
    this.css.width = r+px;
    this.css.height = b+px;
    }
    }
    }
    var oLoad2
    function startLoading(){
    page = new lib_doc_size()
    oLoadCont = new lib_obj('divLoadCont')
    oLoad = new lib_obj('divLoad1','divLoadCont')
    oLoad2 = new lib_obj('divLoad2','divLoadCont.document.divLoad1')
    oLoadText = new lib_obj('divLoadText','divLoadCont.document.divLoad1')
    oLoad.moveIt(page.x50-loaderWidth/2,page.y50-20)
    oLoadText.moveIt(loaderWidth/2 - oLoadText.w/2,10)
    oLoad.clipTo(0,loaderWidth,40,0,1)
    oLoad2.per = loaderWidth/numImages
    }
    function loadIt(ok){
    currentImg ++
    if (oLoad2) oLoad2.clipTo(0,oLoad2.per*currentImg,40,0,1)
    if (!ok){
    oLoadCont.css.visibility = "hidden"
    oLoadCont = null;
    oLoad1 = null;
    oLoad2 = null;
    }
    }

    //DISPLAY FUNCTION - DELETE START -------- DELETE THIS *************
    //LEAVE THIS FUNCTION WHILE TESTING. DELETE WHEN READY
    function loadIt_display(ok){
    currentImg ++
    if (oLoad2) oLoad2.clipTo(0,oLoad2.per*currentImg,40,0,1)
    if (currentImg<=numImages) setTimeout("loadIt_display(1)",200)
    else{
    oLoadCont.css.visibility = "hidden"
    }
    }
    //DISPLAY FUNCTION - DELETE END *************************************
    </script>

    <!-- HEAD END HERE -->




    </head>
    <body bgcolor="#737994" text="#FFFFFF" link="#FFFFFF" topmargin="0" leftmargin="0">



    <!-- BODY START HERE -->


    <!-- ALWAYS HAVE THIS RIGHT AFTER THE BODY START TAG -->
    <div id="divLoadCont">
    <div id="divLoad1">
    <div id="divLoad2"></div><br>
    <div id="divLoadText">Loading...</div>
    </div>
    </div>
    <script>
    startLoading()
    //onload=loadIt; //- LEAVE THIS LINE WHILE TESTING. UNCOMMENT WHEN READY
    loadIt_display(1) //LEAVE THIS LINE WHILE TESTING. DELETE WHEN READY
    </script>


    <!-- BODY END HERE -->

    <br><br><br>
    <center>
    Содержание страницы
    <br><br>
    </center>




    </body>
    </html>
    Вариант 2 код яваскрипта:
    Код (Text):
    var shag=20; //количество шагов пример var shag=10; значит необходимо вставить в код 11 якорей
    //shag=20 значит 6 шагов.
    //shag=1 значит 101 шаг.
    //Якорь = вызвать функцию lo(); с помощью JS

    var ok_log='Загрузка завершена'; // текст который выведется после загрузки но перед открытием страницы (возможно использовать HTML) пример var ok_log="<h1 style="color:red">Загрузка завершена</h1>";
    var text_log='Идет загрузка'; // текст сообщения (возможно использовать HTML)
    var log_color='#ffffff'; //цвет фона
    var log_win_color='white'; //цвет фона области загрузки
    var border_log='#4682b4'; //цвет оконтовки
    var bar_color='#4682b4'; //цвет полосы загрузки
    var text_style='style="color:#4682b4"'; // стиль для всего текста

    /* не изменять следующие строки*/
    var var_log=0;
    document.write('<META http-equiv=Content-Type content="text/html; charset=windows-1251"><div id="log_bar" style="position:absolute;left:0;top:0;width:102%;height:100%;z-index:100;background-color:'+log_color+'"><table width="100%" height="100%"><tr><th align="center"><table cellspacing="0" style="border:solid 1px '+border_log+'" bgcolor="'+log_win_color+'" align="center" width="333"><tr><th '+text_style+' colspan="3">'+text_log+'</th></tr><tr><td '+text_style+'><b>0%</b></td><td width="100%"><hr width="1" id="log_hr" align="left" size="10" noshade color="'+bar_color+'"></td><td '+text_style+'><b>100%</b></td></tr><tr><th colspan="3" id="procent" '+text_style+'>0%</th></tr></table></th></tr></table></div><div id="temp_loading" style="display:none">');
    function vis_log(){ document.getElementById('log_bar').style.display='none'; document.getElementById('temp_loading').style.display='block'; clearTimeout(tim);}
    function lo(){ var_log+=shag; if(var_log<=100){document.getElementById('log_hr').width=var_log+"%";document.getElementById('procent').innerHTML=var_log+" %" } else{ document.getElementById('procent').innerHTML=ok_log; tim=setTimeout("vis_log();",2000)}}
    /* end */
    Ничего по ним не спрашивай. я ими пользовался лет 12 назад ))) просто в хламе откопал... )))
     
  3. MarSIC

    MarSIC Гость

    Спасибо! Обязательно посмотрю))
     
Загрузка...

Поделиться этой страницей