Vraag & Antwoord

Webprogrammeren & scripting

Foto's steeds sneller naar volgende

7 antwoorden
  • Wat is er mis met dit script in de head van mn pagina dit: [code:1:5d2de419f4] <SCRIPT type="text/javascript"> var Numbers = new Array(); Numbers.length = 20; var j=0; function getNumbers(){ for (i=1;i<21;i++){ Numbers[i] = parseInt((53 * Math.random()) + 1) } showFoto(); } function showFoto(){ j++; if (j==10){ j=0; getNumbers(); } var img1 = document.getElementById('1'); var img2 = document.getElementById('2'); if (Numbers[j] < 10){ img1.src = "pictures/scania00" + Numbers[j] + ".jpg"; } else { img1.src = "pictures/scania0" + Numbers[j] + ".jpg"; } if (Numbers[j+10] < 10){ img2.src = "pictures/scania00" + Numbers[j+10] + ".jpg"; } else { img2.src = "pictures/scania0" + Numbers[j+10] + ".jpg"; } pauze(); } function pauze(){ setTimeout("showFoto()",500) } </SCRIPT> [/code:1:5d2de419f4] en dit is de body: [code:1:5d2de419f4] <BODY onLoad="getNumbers()"> <IMG ID="1"> <IMG ID="2"> </BODY> [/code:1:5d2de419f4] Elke x na dit stukje if (j==10){ j=0; getNumbers(); } gaan de fotos weer iets sneller voorbij, als ze eenmaal heel snel gaan, gaan ze steeds weer iets langzamer voorbij komen
  • Misschien is het ook handig als je vertelt wat je exact wil bereiken met het script.
  • Ik wil willekeurig 2 foto's laten zien, en dan automatisch naar de volgende, na 10 keer 2 foto's moet er opnieuw willekeurig 20 fotos uitgekozen worden en dan weer laten zien.
  • Niemand???
  • [quote:afd869ec23="Hend"]Ik wil willekeurig 2 foto's laten zien, en dan automatisch naar de volgende, na 10 keer 2 foto's moet er opnieuw willekeurig 20 fotos uitgekozen worden en dan weer laten zien.[/quote:afd869ec23] Dus eigenlijk wil je continue - met een korte interval - de 2 foto's laten wisselen door een random gekozen andere foto? [i:afd869ec23](ik snap namelijk niet het nut van de 20 random en vervolgens weer 20 random; als ik mis zit, dan zeg het maar)[/i:afd869ec23] Ik heb niet goed naar je script gekeken, maar ik vermoed dat het probleem is dat je teveel timeouts zet. Als deze een beetje 'out of sync' gaan lopen, dan kan je de indruk krijgen dat de foto's steeds sneller gaan bewegen (vergelijk een propellor op film die steeds langzamer lijkt te bewegen, lijkt stil te staan en vervolgens de andere kant op gaat). Ik zal eens kijken of ik tijd heb om iets in elkaar te zetten. p.s. Je topic is een beetje in de vergetelheid geraakt / ondergesneeuwd. Beetje onaardig van ons :o ;)
  • Het probleem is dat ik maar 1 keer timeout zet, dus dat te vaak kan eigenlijk niet. (die random wilde ik eerst na 20 keer doen, maar dat had geen nut nee, ik laat ze nu allemaal doen, maar daar is het niet mee opgelost dus..)
  • Nou, als je goed naar je code kijkt, dan zie je dat je de functie showFoto() vanuit getNumbers() aanroept en ook omgekeerd. Je creeert zo dus een 'viceuze cirkel' van functies die elkaar blijven aanroepen. Dat veroorzaakt je probleem (en dat wat ik in mijn eerdere post schetste). Ik heb hieronder een stukje code geplaatst wat op een andere wijze ervoor zorgt dat de twee images random wijzigen in een andere foto. Misschien kan je er wat mee. [code:1:fa7de06707] <script type="text/javascript"> window.onload = function () { shuffleFotos(); } function shuffleFotos() { setInterval('showFoto()', 500); } function showFoto() { var img1 = document.getElementById('1'); var img2 = document.getElementById('2'); var n1 = parseInt((20 * Math.random()) + 1, 10); var n2 = parseInt((20 * Math.random()) + 1, 10); img1.src = "pictures/scania0" + (n1 < 10 ? "0" : "") + n1 + ".jpg"; img2.src = "pictures/scania0" + (n2 < 10 ? "0" : "") + n2 + ".jpg"; } </script> <body> <img id="1"> <img id="2"> </body> [/code:1:fa7de06707]

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.