SWiSH Forum Strona Główna SWiSH Forum
Forum użytkowników programów SWiSH

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload

Poprzedni temat «» Następny temat
wiświetlanie animacji flash po załadowaniu całej strony
Autor Wiadomość
felis
Początkujący


Dołączył: 21 Sty 2006
Posty: 4
Wysłany: Sob 21 Sty, 2006 22:49   wiświetlanie animacji flash po załadowaniu całej strony

Witam
Zrobiłem swoją pierwszą w życiu animację flash i zamieściłem na stronie html.
Wszystko działa jak powinno tylko, że animacja będąca gdzieś na początku kodu html wyświetla się zanim załadują się pozostałe elementy.
Czy można zrobić coś takiego, aby animacja rozpoczynała wyświetlanie dopiero gdy cała strona zostanie załadowana do przeglądarki.
Dzięki za pomoc
Pozdrawiam
 
     
^romekrtk 



Pomógł: 28 razy
Wiek: 37
Dołączył: 23 Lut 2005
Posty: 338
Skąd: Gryfice
Wysłany: Nie 22 Sty, 2006 09:33   

uzyj funkcji preloader

http://swish.wodip.opole....wtopic.php?t=32
_________________

 
 
     
felis
Początkujący


Dołączył: 21 Sty 2006
Posty: 4
Wysłany: Nie 22 Sty, 2006 14:10   

Dzięki
przeanalizuje funkcje preloadera, ale zdaje mi się że nie o to chodziło.
Z tego co wyczytałem sprawdza ona stopień załadowania filmu, a nie strony html.
U mnie animacja jest niewielkim elementem strony i ładuje się bardzo szybko.
Wygląda to brzydko, bo animacja już się wyświetla a w tym czasie dopiero ładują się np.: przyciski (html/java).
Patrząc nie zwraca się uwagi na animację bo wjeżdżający napis zlewa się z innymi ładującymi się elementami strony.
Szukam więc takiego czegoś co sprawdzi stopień załadowania kodu html i dopiero gdy on osiągnie 100% zacznie wyświetlać animację.
Pozdrawiam
 
     
^romekrtk 



Pomógł: 28 razy
Wiek: 37
Dołączył: 23 Lut 2005
Posty: 338
Skąd: Gryfice
Wysłany: Nie 22 Sty, 2006 15:42   

a rozumiem to zrob zeby strona zajmowala mniej kb odchodz ją. gdzies widzialem taką strone wlasnie z takim ladownaiem nawet bylo procentowe ale juz niedziala:/ zapytaj na jakims innym forum bardziej poswieconym html niz swishowi
_________________

 
 
     
felis
Początkujący


Dołączył: 21 Sty 2006
Posty: 4
Wysłany: Nie 22 Sty, 2006 16:35   

Witam
OK poszukam na innym forum. Myślałem jednak, że da się to gdzieś zadeklarować w animacji by nie zaczęła się wyświetlać, zanim nie będzie całej strony.
A kodu nie mam jak odchudzić, bo nie jest zbyt duży i nie ma co obcinać. Na dodatek dokonuje preloadu wszystkich użytych obrazków jeszcze przed wyświetleniem animacji. Tylko, że ta animacja to jest tak mała, że tak czy owak startuje momentalnie. Nawet jak dodałem 2 sekundy pauzy na początku to i tak rusza przed załadowaniem strony. A cała strona ładuje się gdzieś ze 3 sekundy (na neostradzie 256).
Pozdrawiam i dziękuję za pomoc.
 
     
MBabelek 
Profesjonalista



Pomógł: 14 razy
Dołączył: 27 Sty 2005
Posty: 175
Skąd: Wrocław
Wysłany: Nie 22 Sty, 2006 21:34   

moze preloader java na strone html ?
graficzne przedstawienie ładowania się strony.
Sekcja BODY:

Kod:
<style>
<!--
.hide { position:absolute; visibility:hidden; }
.show { position:absolute; visibility:visible; }
-->
</style>

<SCRIPT LANGUAGE="JavaScript">

//Progress Bar script- by Todd King (tking@igpp.ucla.edu)
//Modified by JavaScript Kit for NS6, ability to specify duration
//Visit JavaScript Kit (http://javascriptkit.com) for script

var duration=3 // Specify duration of progress bar in seconds
var _progressWidth = 50;    // Display width of progress bar

var _progressBar = new String(".......... Laduje ..........");
var _progressEnd = 10;
var _progressAt = 0;


// Create and display the progress dialog.
// end: The number of steps to completion
function ProgressCreate(end) {
    // Initialize state variables
    _progressEnd = end;
    _progressAt = 0;

    // Move layer to center of window to show
    if (document.all) {    // Internet Explorer
        progress.className = 'show';
        progress.style.left = (document.body.clientWidth/2) - (progress.offsetWidth/2);
        progress.style.top = document.body.scrollTop+(document.body.clientHeight/2) - (progress.offsetHeight/2);
    } else if (document.layers) {    // Netscape
        document.progress.visibility = true;
        document.progress.left = (window.innerWidth/2) - 100;
        document.progress.top = pageYOffset+(window.innerHeight/2) - 40;
    } else if (document.getElementById) {    // Netscape 6+
        document.getElementById("progress").className = 'show';
        document.getElementById("progress").style.left = (window.innerWidth/2)- 100;
        document.getElementById("progress").style.top = pageYOffset+(window.innerHeight/2) - 40;
    }

    ProgressUpdate();    // Initialize bar
}

// Hide the progress layer
function ProgressDestroy() {
    // Move off screen to hide
    if (document.all) {    // Internet Explorer
        progress.className = 'hide';
    } else if (document.layers) {    // Netscape
        document.progress.visibility = false;
    } else if (document.getElementById) {    // Netscape 6+
        document.getElementById("progress").className = 'hide';
    }
}

// Increment the progress dialog one step
function ProgressStepIt() {
    _progressAt++;
    if(_progressAt > _progressEnd) _progressAt = _progressAt % _progressEnd;
    ProgressUpdate();
}

// Update the progress dialog with the current state
function ProgressUpdate() {
    var n = (_progressWidth / _progressEnd) * _progressAt;
    if (document.all) {    // Internet Explorer
        var bar = dialog.bar;
     } else if (document.layers) {    // Netscape
        var bar = document.layers["progress"].document.forms["dialog"].bar;
        n = n * 0.55;    // characters are larger
    } else if (document.getElementById){
                var bar=document.dialog.bar
        }
    var temp = _progressBar.substring(0, n);
    bar.value = temp;
}

// Demonstrate a use of the progress dialog.
function Demo() {
    ProgressCreate(10);
    window.setTimeout("Click()", 100);
}

function Click() {
    if(_progressAt >= _progressEnd) {
        ProgressDestroy();
        return;
    }
    ProgressStepIt();
    window.setTimeout("Click()", (duration-1)*1000/10);
}

function CallJS(jsStr) { //v2.0
  return eval(jsStr)
}

</script>

<SCRIPT LANGUAGE="JavaScript">

// Create layer for progress dialog
document.write("<span id=\"progress\" class=\"hide\">");
    document.write("<FORM name=dialog>");
    document.write("<TABLE border=2  bgcolor=\"#FFFFCC\">");
    document.write("<TR><TD ALIGN=\"center\">");
    document.write("Progress<br />");
    document.write("<input type=text name=\"bar\" size=\"" + _progressWidth/2 + "\"");
    if(document.all||document.getElementById)     // Microsoft, NS6
        document.write(" bar.style=\"color:navy;\">");
    else    // Netscape
        document.write(">");
    document.write("</TD></TR>");
    document.write("</TABLE>");
    document.write("</FORM>");
document.write("</span>");
ProgressDestroy();    // Hides

</script>


<form name="form1" method="post">

<input type="button" name="Demo" value="Display progress" onClick="CallJS('Demo()')">
</center>
</form>

<a href="javascript:CallJS('Demo()')">Text link example</a>

<br /><font face="arial" size="-2">This free script provided by</font><br />
<font face="arial, helvetica" size="-2"><a href="http://www.javascriptkit.com">JavaScript
Kit</a></font></p>
 
     
felis
Początkujący


Dołączył: 21 Sty 2006
Posty: 4
Wysłany: Nie 22 Sty, 2006 22:00   

Witam

Cytat:
moze preloader java na strone html ?


Tak przyszło mi do głowy to samo i dałem preloader. Wprawdzie o wiele prostszy, bo wyświetla tylko komunikat o ładowaniu, a potem już całą gotową stronę.

Wygląda to lepiej, ale nie jestem do końca przekonany bo:
1. Jak sam korzystam z netu to wolę widok ładującej się strony niż komunikat proszę czekać, gdyż zawsze można kliknąć już załadowany element i olać animację, która nie każdego interesuje.
2. I tak musiałem dać 3 puste sekundy na początku animacji, ponieważ zanim wygasła strona preloadera to ona była już w połowie. Ot widać jest tak malutka i szybka, że nawet wygaśniecie komunikatu proszę czekać jest zbyt długie.

Ale z tym preloaderem to zawsze jest jakieś rozwiązanie, więc w razie czego go zostawię.
Wpadłem też na inny pomysł i zastosowałem funkcję, która przerzuca animacje (obrazek) załadowaną na końcu kodu strony w jej inne dowolne miejsce czyli dokładnie to co chciałem. Niestety funkcja nie chce działać w tabelkach. A moja strona wykorzystuje tabelki.
Tak czy owak dziękuję za pomoc.
Pozdrawiam
 
     
JoyMachine 
Bywalec


Dołączył: 16 Wrz 2005
Posty: 11
Wysłany: Sob 18 Lut, 2006 08:14   najlepiej

to nie odpalac automatycznie animacji tylko odpalac ja poprzez JS po zaladowaniu sie strony html. Kiedys to probowalem ale jakos nie chcialo dzialac... uruchomil ktos kiedys taka opcje?
_________________
Nie lubię całych stron we flashu :P Chyba, ze nie bierze się za nie amator...
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  


Powered by phpBB modified by Przemo © 2003 phpBB Group
Nowe zasady dotyczące cookies. Wykorzystujemy pliki cookies, aby nasz serwis lepiej spełniał Państwa oczekiwania. Można zablokować zapisywanie cookies, zmieniając ustawienia przeglądarki.
         
Strona wygenerowana w 0.08 sekundy. Zapytań do SQL: 10