Hoi,

ik heb de volgende code:

<script language="javascript">
function changeOption()
{
	var option = new Array("functionele","moderne","innovatieve","verfrissende");
	var tekst = document.getElementById('option');
	var num = Math.floor ( Math.random() * option.length ); 
	tekst.innerHTML = option[num];
}
</script>

Nu selecteert ie random een option. Ik wil graag dat ie van option[0], naar option[1] gaat etc. En na de laatste weer naar option[0] en dan weer option[1].

Dus dat ie de array doorloopt. hoe kan ik dit doen?
Ik denk dat ik voor iedereen spreek als ik zeg, waar heb je het in godsnaam over?
een loopje?

for(var i = 0; i<option.length; i++)
{
tekst = option[i];
}

zoiets?
of je gebruikt 2 variabelen die bijhouden waar je nu bent, en wat de vorige was.
var huidige_positie;
var vorige_positie;
Nou kijk, dit is het scriptje:


<script language="javascript">
function changeOption()
{
    var option = new Array("functionele","moderne","innovatieve","verfrissende");
    var tekst = document.getElementById('option');
    var num = Math.floor ( Math.random() * option.length ); 
    tekst.innerHTML = option[num];
}
</script>


Nu wil ik dus dat eerst "functionele" wordt weergegeven. En dan als je daarop klikt, dat ie naar "moderne" gaat, daarna als je weer drukt "innovatieve" etc. En wanneer je bij de laatste van de array klikt moet ie naar "functionele" (de eerste van de array) gaan.

Hier heb ik het met random, maar dat moet dus niet:linkje
Maak een teller met daarin de key van het huidige element in de array.
Bij iedere klik controleer je of de huidige waarde de laatste is.
Als de zo is, ga je naar de eerste anders naar de volgende.

Je hebt het eigenlijk al, alleen moet je het evenomzetten in JS.
Hoe houd ik dit bij? Heeft iemand misschien een simpel voorbeeldje?
Zoiets?:
<script>
// Ongetest overigens
// Set the start-di
var current=1

// Create an Array
var text = new array();
text[0] = "Dit is tekst 0.";
text[1] = "Dit is tekst 1.";
text[2] = "Dit is tekst 2.";

// Function to set the next text
function next(now)
{
if(now == text.lenght-1)
{
current = 0;
} else {
current++;
}
// Set the elements-content
document.getElementById('scrollerElement').value=text[current];
}
</script>

dus...
EDIT: ';' was nog op vakantie...
Wat moet ik met die next(now) doen?

Zeg maar, dan heb ik:

<span id='option' onclick="next()"></span> websites.<br />
wat moet ik doen met die now?


En wat doet:

if(now == text.lenght-1)
in de functie next() moet je de parameter now stoppen. Dat is de huidige waarde. Anders weet de functie niet waar hij moet beginnen.

en "if(now == text.lenght-1)" controleert of now de laatste in de array is.
-1 moet je gebruiken omdat tellen begint op 0.

Reageren