login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Preloader

Offline dimb - 06/02/2009 22:45
Avatar van dimbNieuw lid Hi,

Voor een gamesite wil ik eerst een banner laden (7sec) voordat de game zichtbaar wordt. Iemand enig idee hoe ik dat het beste kan doen?

  1. <div>
  2. <object width="720" height="540">
  3. <param name="movie" value="/files/773.swf" />
  4. <param name="quality" value="high" />
  5. <embed src="/files/773.swf" quality="high" width="720" height="540"></embed>
  6. </object>
  7. </div>


Dimby

5 antwoorden

Gesponsorde links
Offline svm - 06/02/2009 23:01 (laatste wijziging 07/02/2009 11:13)
Avatar van svm PHP ver gevorderde Je kunt een div maken welke je na 7 seconden zichtbaar maakt, en ook onzichtbaar:

  1. <script language="javascript" type="text/javascript">
  2. function reclame() {
  3. document.getElementById('filmDiv').style.display = 'block';
  4. document.getElementById('reclDiv').style.display = 'none';
  5. }
  6.  
  7. function setRecl() {
  8. window.setTimeout(reclame, 7000);
  9. }
  10. </script>


De HTML:
  1. <body onload="setRecl()">
  2. <div id="filmDiv" style="display: none;">
  3. <object width="720" height="540">
  4. <param name="movie" value="/files/773.swf" />
  5. <param name="quality" value="high" />
  6. <embed src="/files/773.swf" quality="high" width="720" height="540"></embed>
  7. </div>
  8. <div id="reclDiv">
  9. <img src="banner.gif" />
  10. </div>


P.s.
De code heb ik niet getest.


@Ibrahim
Ik zei al: niet getest.
Maar ik heb het aangepast en getest (IE en FF): nu werkt het.
Zoals je ziet heb ik alleen de parameters bij setTimeout() omgedraait: ik gebruik er eigenlijk altijd window voor, maar is inderdaad niet noodzakelijk.
Quotes horen er trouwens niet om als je achter de functienaam geen () zet: zo werkt hij goed.
Offline Ibrahim - 07/02/2009 07:04
Avatar van Ibrahim PHP expert Bij setTimeout is de eerste parameter de functie en moet die tussen dubbele quotes of tussen function() { }, de tweede is de aantal miliseconden.

En setTimeout hoeft niet te beginnen met window.
Offline Koen - 07/02/2009 11:19
Avatar van Koen PHP expert @SVM: Je vergist je, de eerste parameter is inderdaad de functienaam, maar deze moet tussen dubbele quotes zoals Ibrahim al opmerkte.

Als je me niet gelooft, kijk zelf: http://www.w3sc...imeout.asp 
Offline svm - 07/02/2009 11:37 (laatste wijziging 07/02/2009 11:39)
Avatar van svm PHP ver gevorderde Klopt, maar (ik wil niet eigenwijs overkomen/zijn hoor) als ik het toepas op een functie zonder parameter, en dus ook () niet gebruikt hoeft te worden, werkt het blijkbaar wel.
Maar het kan zijn dat het dus wel werkt, maar als het ware niet gevalideerd is?
Maar goed, dan zou dus het uiteindelijk script worden:

  1. <script language="javascript" type="text/javascript">
  2. function reclame() {
  3. document.getElementById('filmDiv').style.display = 'block';
  4. document.getElementById('reclDiv').style.display = 'none';
  5. }
  6.  
  7. function setRecl() {
  8. window.setTimeout("reclame()", 7000);
  9. }
  10. </script>

  1. <body onload="setRecl()">
  2. <div id="filmDiv" style="display: none;">
  3. <object width="720" height="540">
  4. <param name="movie" value="/files/773.swf" />
  5. <param name="quality" value="high" />
  6. <embed src="/files/773.swf" quality="high" width="720" height="540"></embed>
  7. </div>
  8. <div id="reclDiv">
  9. <img src="banner.gif" />
  10. </div>


P.s.
Toch bedankt voor het commentaar: dan pas ik het in het vervolg ook goed toe .
Offline Ibrahim - 07/02/2009 12:54 (laatste wijziging 07/02/2009 12:55)
Avatar van Ibrahim PHP expert Voor body onload="" is er een alternatief dat veel beter is:

  1. window.onload = function() {
  2. // je code hier
  3. };


Voor de dubbele quotes issue raad ik toch echt function() {} syntax aan
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.185s