Ik ben bezig om een bestaande website om te bouwen tot iets dat meer inhoud heeft en beter aansluit bij onze doelgroep. In een bestaand CMS heb ik de vrijheid om een geheel nieuwe template te implementeren. Helaas geeft het CMS weinig flexibele mogelijkheden om met dynamische content om te gaan. Ik ben derhalve aangewezen op client-side oplossingen om de inhoud een dynamischere look & feel te geven.
Voor een item op de homepage wil ik graag een snel overzicht geven van een aantal artikelen die wij aanbieden. Ik heb te maken met een stuk of 25 items in een unsorted list. Hiervan wil ik er graag drie op een willekeurige manier tonen. Het is me reeds gelukt om er één in op een random manier te tonen, maar bij drie stuks loop ik vast.
Voor mijn doeleinden lijkt mij JQuery goed geschikt. Het is een heerlijk lightweight script dat veel mooie mogelijkheden biedt. Wellicht dat ik in een later stadium hieruit andere onderdelen wil gebruiken, maar voor nu wil ik alleen de willekeurmogelijkheden gebruiken.
Ik zou het heel fijn vinden als iemand mij een eind op weg kan helpen.
De lijst die ik wil gebruiken is als volgt in HTML:
De JavaScript die ik aanroep in de HEAD (en die gebruik maakt van de JQuery library) is als volgt:
Dit werkt perfect om 1 item te tonen. Ik kon het zelfs mooier maken door de list-item in te laten faden (in mijn goeiste Nederlands):
De JQuery library die ik heb gebruikt, kun je hier vinden.
Ik heb ook voor andere oplossingen gezocht dan JQuery, maar tot dusver heeft me dat niet het gewenste resultaat opgeleverd. Wellicht dat ik op de verkeerde termen zoek (show several random items javascript, display random items, show random items). Ik hoop dat iemand mij een eind in de goede richting kan schoppen. Het liefste zou ik een oplossing zien met de laatste javascript opties (het fade-in effect), maar de eerste volstaat ook
Voor een item op de homepage wil ik graag een snel overzicht geven van een aantal artikelen die wij aanbieden. Ik heb te maken met een stuk of 25 items in een unsorted list. Hiervan wil ik er graag drie op een willekeurige manier tonen. Het is me reeds gelukt om er één in op een random manier te tonen, maar bij drie stuks loop ik vast.
Voor mijn doeleinden lijkt mij JQuery goed geschikt. Het is een heerlijk lightweight script dat veel mooie mogelijkheden biedt. Wellicht dat ik in een later stadium hieruit andere onderdelen wil gebruiken, maar voor nu wil ik alleen de willekeurmogelijkheden gebruiken.
Ik zou het heel fijn vinden als iemand mij een eind op weg kan helpen.
De lijst die ik wil gebruiken is als volgt in HTML:
HTML:
1
2
3
4
5
6
7
8
9
10
| <div id="cardCategories"> <ul> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> <li>Item 4</li> <li>Item 5</li> <li>etc</li> </ul> </div> |
De JavaScript die ik aanroep in de HEAD (en die gebruik maakt van de JQuery library) is als volgt:
JavaScript:
1
2
3
4
5
6
7
8
9
| this.randomtip = function(){ var length = $("#cardCategories li").length; var ran = Math.floor(Math.random()*length) + 1; $("#cardCategories li:nth-child(" + ran + ")").show(); }; $(document).ready(function(){ randomtip(); }); |
Dit werkt perfect om 1 item te tonen. Ik kon het zelfs mooier maken door de list-item in te laten faden (in mijn goeiste Nederlands):
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| this.randomtip = function(){ var pause = 3000; // define the pause for each tip (in milliseconds) var length = $("#cardCategories li").length; var temp = -1; this.getRan = function(){ // get the random number var ran = Math.floor(Math.random()*length) + 1; return ran; }; this.show = function(){ var ran = getRan(); // to avoid repeating while (ran == temp){ ran = getRan(); }; temp = ran; $("#cardCategories li").hide(); $("#cardCategories li:nth-child(" + ran + ")").fadeIn("fast"); }; show(); setInterval(show,pause); }; $(document).ready(function(){ randomtip(); }); |
De JQuery library die ik heb gebruikt, kun je hier vinden.
Ik heb ook voor andere oplossingen gezocht dan JQuery, maar tot dusver heeft me dat niet het gewenste resultaat opgeleverd. Wellicht dat ik op de verkeerde termen zoek (show several random items javascript, display random items, show random items). Ik hoop dat iemand mij een eind in de goede richting kan schoppen. Het liefste zou ik een oplossing zien met de laatste javascript opties (het fade-in effect), maar de eerste volstaat ook
We zijn allemaal vaandeldrager in een optocht van gekwetsten.