Toon posts:

delay in html bestand voor verder gaan

Pagina: 1
Acties:

Verwijderd

Topicstarter
Haloa weet iemand hoe ik een delay in een html/asp bestand kan zetten?
ik lees uit een database, dan wil ik dat op het scherm laten zien en dan een aantal seconden later lees ik uit een andere tabel weer een aantal records. maar die aantal seconden ertussen krijg ik dus niet voor mekaar. wel delay's voor het openen van een link en voor het openen van een pagina of een popup maar niet zo tussen code voor ik verder wil gaan.

heeft iemand de geniale oplossing?
_/-\o_

  • coubertin119
  • Registratie: Augustus 2002
  • Laatst online: 20-08 15:43
Dat kan bij mijn weten enkel door ofwel alle data in 1 keer te tonen, en die helft die later moet getoond worden te hiden, en die dan na enkele seconden te unhiden.

Wat ook een mogelijkheid is, is een hidden iframe, die je na x aantal seconden refresht/doorstuurt naar de pagina met die andere query voor de andere records, en de inhoud daarna uit te lezen en weer te geven in de zichtbare pagina.

Kies jij maar wat het beste lijkt :), de nodige kennis van JavaScript is hiervoor wel vereist, want met HTML alleen kan zoiets helemaal niet.

[ Voor 11% gewijzigd door coubertin119 op 08-10-2003 14:49 ]

Skat! Skat! Skat!


  • André
  • Registratie: Maart 2002
  • Laatst online: 19-08 12:30

André

Analytics dude

Wat bedoel je precies. Je hebt een pagina en ergens op regel x moet die even stoppen met renderen/laden?

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:21

crisp

Devver

Pixelated

in PHP kan je sleep() gebruiken tijdens script-execution, je moet dan wel de buffer daarvoor expliciet flushen, en zorgen dat er genoeg in de buffer zit omdat anders sommige browser het nog niet meteen renderen.
ik zou zeggen: kijk eens of er iets soortgelijks bestaat in ASP, anders moet je alles al meteen naar de browser sturen en met clientside script bepaalde onderdelen na een bepaalde tijd 'unhiden'.

Intentionally left blank


  • André
  • Registratie: Maart 2002
  • Laatst online: 19-08 12:30

André

Analytics dude

Er bestaat in ASP een response.flush geloof ik, maar een sleep functie weet ik zo niet.

Verwijderd

Topicstarter
hide en unhide gaat niet werken, we willen een uitvoer uit de database laten zien een aantal seconden. dan het volgende scherm een aantal seconden. met hide en unhide gaat het dus niet lukken. een soort power point moet het worden. met hide en unhide moet je scrollen, zou nog wel kunnen maar niet op tijden.

Verwijderd

Topicstarter
voor de bakker met:

Response.Flush
Do While x < 1000000
x = x + 1
Loop

asp dus maar nu moet het scherm leeg zijn. het vorige deel van de uitvoer moet dus worden verwijderd.

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 18:29
Eerst bovenaan een div zetten. Dan steeds een JS sturen die de inhoud van die div vervangt. Kijk eens naar innerHTML om de inhoud van een div te wijzigen.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:21

crisp

Devver

Pixelated

Verwijderd schreef op 08 oktober 2003 @ 15:17:
voor de bakker met:

Response.Flush
Do While x < 1000000
x = x + 1
Loop

asp dus maar nu moet het scherm leeg zijn. het vorige deel van de uitvoer moet dus worden verwijderd.
Kan je dan niet gewoon een reload doen, en serverside bijhouden welke pagina geserveerd moet worden (sessie?) - dan kan je gewoon een simpele meta refresh gebruiken.

ASP script:
-check of er een sessie is
nee:
-maak pagina 1
-set '1' in een sessie
-stuur pagina 1 naar client
-script einde

Client:
-meta refresh na x seconden roept ASP script weer aan

ASP script:
-check of er een sessie is
ja:
-haal paginanummer op uit sessie en verhoog met 1 --> x
-maak pagina x
-set x in de sessie
-stuur pagina x naar client
-script einde

Intentionally left blank


  • coubertin119
  • Registratie: Augustus 2002
  • Laatst online: 20-08 15:43
swiebie, verandert de content van die database tussen de verschillende 'schermen'? Anders gaat mijn methode écht wel, je laat gewoon om de x aantal seconden de volgende div zien, langere laadtijd, maar daarna ben je 'r wel vanaf.

Of zoals ik daarnet al zei, en djluc eens mooi nazegt, met een iframe werken die de content uit de database haalt en die dan neerzet in de div met het 'scherm'.

Skat! Skat! Skat!


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 18:29
Dat hoeft dus niet als je steeds een script flushed. Dan veranderd die content steeds...

Althans dat lijkt mij zo te werken hè, zelf nog neit getest namelijk :)

  • Mr_Blobby
  • Registratie: Mei 2000
  • Laatst online: 21:14
Misschien kan het met de "Non Parsed Header" (NPH) methode voor scripts?
Kijk eens naar deze beschrijving hiervan.
Hier laten ze een serverside-script aftellen op de pagina.

en zij zagen niet hoe spot in mij worstelde met verdriet


  • André
  • Registratie: Maart 2002
  • Laatst online: 19-08 12:30

André

Analytics dude

Verwijderd schreef op 08 oktober 2003 @ 15:17:
voor de bakker met:

Response.Flush
Do While x < 1000000
x = x + 1
Loop

asp dus maar nu moet het scherm leeg zijn. het vorige deel van de uitvoer moet dus worden verwijderd.
Dit lijkt me niet goed voor de belasting van de server.

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
crisp schreef op 08 oktober 2003 @ 15:26:
[...]

Kan je dan niet gewoon een reload doen, en serverside bijhouden welke pagina geserveerd moet worden (sessie?) - dan kan je gewoon een simpele meta refresh gebruiken.

ASP script:
-check of er een sessie is
nee:
-maak pagina 1
-set '1' in een sessie
-stuur pagina 1 naar client
-script einde

Client:
-meta refresh na x seconden roept ASP script weer aan

ASP script:
-check of er een sessie is
ja:
-haal paginanummer op uit sessie en verhoog met 1 --> x
-maak pagina x
-set x in de sessie
-stuur pagina x naar client
-script einde
Zou ik niet doen:
- niet alle bezoekers ondersteunen sessies
- er bestaat ook nog zoiets als waarden meegeven via GET of POST

met setTimeOut in javascript

code:
1
2
3
4
5
6
7
<script type="text/javascript">
setTimeout("document.all.frm.submit();" , 500);
</script>

<form method="post" name="frm" id="frm" action="pagina.asp">
<input type="hidden" name="pagina" id="pagina" value="volgende" />
</form>


een formuliertje posten

p.s.(het zou kunnen dat mijn javascript alleen werkt onder I.E. :+ )

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


Verwijderd

Topicstarter
dat laatste gaat in ieder geval niet werken omdat het informatieschermen worden. dus zonder muis en toetsenbord. informatie wordt uit een database gelezen en op het scherm getoond. er is geen mogelijkheid tot enige interactie

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 22:17

TeeDee

CQB 241

Je hebt van www.serverobjects.com de extensie: AspWait. Misschien dat je daar wat aan hebt?
Of je zou met "Timer" kunnen werken.

[ Voor 7% gewijzigd door TeeDee op 09-10-2003 08:59 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:21

crisp

Devver

Pixelated

FvKnijff schreef op 08 October 2003 @ 18:33:
[...]


Zou ik niet doen:
- niet alle bezoekers ondersteunen sessies
- er bestaat ook nog zoiets als waarden meegeven via GET of POST

met setTimeOut in javascript

code:
1
2
3
4
5
6
7
<script type="text/javascript">
setTimeout("document.all.frm.submit();" , 500);
</script>

<form method="post" name="frm" id="frm" action="pagina.asp">
<input type="hidden" name="pagina" id="pagina" value="volgende" />
</form>


een formuliertje posten

p.s.(het zou kunnen dat mijn javascript alleen werkt onder I.E. :+ )
en ook niet alle bezoekers ondersteunen javascript :+

maar eh document.all? niet zo raar dat het alleen in IE werkt als je een Microsoft propriety document object model gebruikt van 8 jaar oud ;)
Verwijderd schreef op 09 October 2003 @ 08:52:
dat laatste gaat in ieder geval niet werken omdat het informatieschermen worden. dus zonder muis en toetsenbord. informatie wordt uit een database gelezen en op het scherm getoond. er is geen mogelijkheid tot enige interactie
en dit doet me dan weer denken aan een soort van kiosk-achtig iets, klopt dat?
toch gaat dat laatste ook wel werken, aangezien het formulier automatisch gesubmit wordt :)

Intentionally left blank


Verwijderd

Topicstarter
ja soort kiosk achtig iets ja, stage opdracht.

ik ga er vandaag flink mee stoeien nu heeft een werkdag ineens 8 uur namelijk ;(

Verwijderd

Deel wat later moet in een div, en vervolgens setTimeOut("div.visible = true;",4000); ofzo, ben geen html kenner maar zo zou ik het doen.

  • Mr_Blobby
  • Registratie: Mei 2000
  • Laatst online: 21:14
edit:
laat maar, verkeerd gelezen

[ Voor 161% gewijzigd door Mr_Blobby op 09-10-2003 10:47 ]

en zij zagen niet hoe spot in mij worstelde met verdriet

Pagina: 1