Web Hosting Talk







View Full Version : flipping through array (JavaScript)


latheesan
08-15-2007, 05:36 PM
I wrote a small js script to show intro text and give user to flip through them. But, i keep getting "undefined" in the span, after i go pass the 5th element in the array.

<script type="text/javascript">

var Counter = 0;
var iText = new Array()
iText[0] = "Text 1";
iText[1] = "Text 2";
iText[2] = "Text 3";
iText[3] = "Text 4";
iText[4] = "Text 5";
function Next()
{
i = document.getElementById("intro_text");
if(Counter > 5) {
Counter = 0;
}
Counter++;
i.innerHTML = iText[Counter];
}
function Previous()
{
i = document.getElementById("intro_text");
if(Counter < 1) {
Counter = 5;
}
Counter--;
i.innerHTML = iText[Counter];
}

</script>

Where im i going wrong?

Jatinder
08-15-2007, 06:00 PM
This will work:

<script type="text/javascript">
var Counter = 0;
var iText = new Array()
iText[0] = "Text 1";
iText[1] = "Text 2";
iText[2] = "Text 3";
iText[3] = "Text 4";
iText[4] = "Text 5";
function Next()
{
i = document.getElementById("intro_text");
if(Counter >= 4) {
Counter = 0;
}
Counter++;
i.innerHTML = iText[Counter];
}
function Previous()
{
i = document.getElementById("intro_text");
if(Counter < 1) {
Counter = 5;
}
Counter--;
i.innerHTML = iText[Counter];
}
</script>

Steve_Arm
08-15-2007, 06:02 PM
function Next()
{
i = document.getElementById("intro_text");
if(Counter == 4) {
Counter = -1;
}
Counter++;
i.innerHTML = iText[Counter] + ' :: ' + Counter;
}
function Previous()
{
i = document.getElementById("intro_text");
if(Counter == 0) {
Counter = 5;
}
Counter--;
i.innerHTML = iText[Counter];
}

latheesan
08-15-2007, 08:25 PM
Thanks allot Steve, your suggestion worked correct.

P.S. One last question. Is there a way i can workout how many elements there are inside a an array?

in php, we do $total_elements = sizeof($array);

how do u do this in javascript?

===== Edit ========

I editted the script a lil and this is what i have now:

<script type="text/javascript">

var Counter = 0;
var iText = new Array()
iText[0] = "&nbsp;Text 1";
iText[1] = "&nbsp;Text 2";
iText[2] = "&nbsp;Text 3";
iText[3] = "&nbsp;Text 4";
iText[4] = "&nbsp;Text 5";
iText[5] = "&nbsp;Text 6";
var iTextNum = iText.length;
function Next()
{
i = document.getElementById("intro_text");
iImage = document.getElementById("intro_image");
if(Counter == (iTextNum+1)) {
Counter = -1;
}
Counter++;
i.innerHTML = iText[Counter];
iImage.src = 'images/intro_pics/'+ Counter +'.jpg';
}
function Previous()
{
i = document.getElementById("intro_text");
iImage = document.getElementById("intro_image");
if(Counter == 0) {
Counter = iTextNum;
}
Counter--;
i.innerHTML = iText[Counter];
iImage.src = 'images/intro_pics/'+ Counter +'.jpg';
}

</script>

Im still getting that undefined thing.

latheesan
08-15-2007, 08:38 PM
nevermind, i fixed it =)