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
|
|
|
|
 |
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 Chyba, ze nie bierze się za nie amator... |
|
|
|
 |
|