07. november 2000 - 16:04Der er
4 kommentarer og 1 løsning
Opdatere billedet.
Hej Eksperter, En ven og jeg har en idé om at vi vil lave et JS, hvor man opdaterer et billede (1 pr 2 sek). Dette kunne sagtens laves i ren HTML, men der kommer det problem at det allerede opdaterede billede forsvinder når det næste billede skal hentes - Det gør at der kommer et tomt stykke imellem opdateringer, og det vil jeg gerne undgå...Er der nogen der kan hjælpe? Jeg er meget lidt inde i JS, så det må gerne være udførligt skrevet.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Dudal\'d svar er rigtigt og nødvendigt men kan forbedres lidt.
Preload billederne.
Men hvis billederne er mere end thumbnails kan de sagtens tage mere end 2 sekunder hver at loade.
Du har formentlig allerede lavet den javascript løkke der skal vise billederne. I retning af:
function getNextPic { setImage(billedX.src); // vis billedeX billedX = *næste billede der skal vises* // indstil billedX til næste billede ID = setTimeout(\'getNextPic()\',2000) // vent 2 sekunder før neste billedskift }; //end getNextPic()
for at få de 2 sekunders wait.
I det Image objekt du preloader billederne ind i er der en variabel \"complete\" der bliver true når billedet er færdigt med at loade.
Så jeg vil foreslå du laver løkken om til noget i retning af
function getNextPic { if (billedeX.complete) { // er billedet loaded? setImage(billedX.src); // JA vis billedeX billedX = *næste billede der skal vises* // indstil billedX til næste billede ID = setTimeout(\'getNextPic()\',2000) // vent 2 sekunder før neste billedskift } else { ID = setTimeout(\'getNextPic()\',500) // NEJ vent lidt og prøv igen med samme billed } }; //end getNextPic()
getNextPic(); // starter billedskifteren (variable skal være defineret først)
Så slipper du også for at starte løkken med et onLoad kald. Billederne skifter aldrig før de er klar.
Men hvis et af billederne mangler på serveren stopper billedudskiftningen der.
function getNextPic() { if ( picArray[nesteBillede].complete) { // er billedet loaded? document.images.dit_billed_navn.src = picArray[nesteBillede].src; // JA vis billedeX nesteBillede = nesteBillede>=3)?0:nesteBillede+1 // forbered for næste billede ID = setTimeout(\'getNextPic()\',2000) // vent 2 sekunder før neste billedskift } else { ID = setTimeout(\'getNextPic()\',500) // NEJ vent lidt og prøv igen med samme billed } }; //end getNextPic()
Hovsa jeg glemte korrekte parenteser i en af linierne: Her: ---------------------V------------------------V-----------------V
nesteBillede = (nesteBillede>=3)?0:(nesteBillede+1) //forbered for næste billede
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.