login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Random slideshow is niet random? (Opgelost)

Offline Prutserke - 16/06/2010 10:24 (laatste wijziging 16/06/2010 10:43)
Avatar van PrutserkeNieuw lid Hey allemaal,

volgend script: http://plaatscode.be/139596/

Heb ik gedownload voor random script zijnde, maar dit is helemaal niet zo...

Zeer jammer, want onze klant had dit graag zo gehad. Het eerste kleine deeltje is dat hij via PHP de afbeeldingen in de database gaat oproepen, en vervolgens laat het javascript z'n werk doen om de slideshow mooi weer te geven.

Echter... Mijn kennis van Javascript laat fel de wensen over. Heeft er iemand van jullie daarom misschien enig idee hoe ik dit Javascript gebeuren aanpas, zodanig dat het toch een random slideshow, waarvan hij een kleine controle inlast zodanig dat hij niet 2 keer achtereen dezelfde foto zou starten...


Alvast bedankt allemaal,


Prutserke

5 antwoorden

Gesponsorde links
Offline cyberninjah - 16/06/2010 11:20
Avatar van cyberninjah Lid ik zou gewoon een interval maken dei een functie aanroept showimage()
ofzo

in die functie doe je een random getal
en zorgt dat je daar een array heb met alle afbeeldingen die je wil.

bouwt een check if of random getal gelijk is aan huidige en dan showen ?

Mischien jquery gebruiken voor simpele fadeIn & fadeOut
Offline eXpor - 16/06/2010 11:28 (laatste wijziging 16/06/2010 11:30)
Avatar van eXpor Nieuw lid Ik heb geen super kennis van JS maar naar mijn idee kan het zo:

De variabele j wordt nu gebruikt in je JS om de volgende index te bepalen. Deze wordt elke keer met 1 verhoogd. Daarom laat hij ze gewoon in een vaste volgorde zien.

Je kan dit veranderen door er een random nr in te laten plaatsen (standaard functie) die gebaseerd is op de lengte van je img array. Deze img array is een kopie van je array met afbeeldingen. Door middel van het resulterende nummer kan je het bijhorende plaatje met splice() uit je array halen. Op deze manier worden alle afbeeldingen afgegaan voordat hij terug komt. Op het moment dat de array leeg is kan je opnieuw je img array erin kopieren.

Zoals gezegd is dit hoe ik het zou doen met mijn bestaande kennis, er zullen vast andere (betere) manieren zijn.

Edit: Oplossing van de poster voor mij is een stuk logischer en eenvoudiger, nvm mijn gebrabbel 
Offline ProjectWebdesign - 16/06/2010 20:49
Avatar van ProjectWebdesign Lid Ik heb even snel voor je gekeken.
Als je regel 45 & 46:

  1. j = j + 1;
  2. if (j > (p - 1)) j = 0;


Vervangt door:
  1. j = rand(p) - 1;


Dan zou het moeten werken.
Offline eXpor - 16/06/2010 21:00
Avatar van eXpor Nieuw lid Dan kan het nog zijn dat dezelfde foto een tweede keer komt voordat de andere foto's weergegeven zijn.
Offline ProjectWebdesign - 16/06/2010 21:03 (laatste wijziging 16/06/2010 21:04)
Avatar van ProjectWebdesign Lid Ja dat klopt maar goed, random is random.
Wat die evt. ook kan doen is de MySql query random maken.
Dan zou je van de query het volgende moeten maken:

  1. $select = "SELECT * FROM projecten ORDER BY RAND()";


Dan is er elke keer als je de pagina opkomt of ververst een andere volgorde.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.184s