2016-04-17 4 views
0

Ich möchte, wenn Sie auf die Schaltfläche klicken, Text im Array umschalten.Wie kann ich jQuery's jeweils und Klick-Methode verwenden?

(text[0] -> text[1] -> text[2] -> text[0]) 

Und wenn Ende des Array-Index angekommen, kehrt wieder in der Anordnung des Index zu starten. (Roop)

Ich denke, mit jedem und Methode klicken. Aber jede Methode gilt an einem strech.

Wie kann ich es tun?

Dies ist mein Code

$(document).ready(function() { 
    var arr = ["uno", "dos", "tre"]; 
    $("button").click(fuction() { 
    $.each(arr, function() { 
     $("p").text(arr); 
    }); 
    }); 
}); 
+0

Wenn Ihre Antwort gelöst wurde, akzeptieren Sie bitte eine Antwort. – smerny

Antwort

0

diesen Code Versuchen:

$(document).ready(function() { 

var arr = ["uno", "dos", "tre"]; 
var count=0; 
var n=arr.length; 

$("button").click(function() { 

    count+=1; 
    $("p").text(arr[count%n]); 


}); 

}); 
+0

Seien Sie vorsichtig, wenn Sie nur Zahlen eingeben. In diesem Fall ist Ihre '2' die Zahl sollte eigentlich 3 sein, aber die Größe des Arrays ist möglicherweise nicht immer die gleiche, so dass es sinnvoller wäre, nur die Größe des Arrays zu verwenden . Außerdem haben Sie einen Fehler verpasst, den das OP in der Schreibweise "Funktion" gemacht hat. – smerny

1

Wie diese JSFiddle

$(document).ready(function() { 
    var arr = ["uno", "dos", "tre"]; 
    var arrIndex = 0; 
    $("button").click(function() { 
     $("p").text(arr[arrIndex++]); 
     arrIndex = arrIndex % arr.length; 
    }); 
}); 

Sie jede Schleife eine nicht brauchen. Behalten Sie einen Index für das Element in Ihrem Array bei, erhöhen Sie dies.

+0

Vielen Dank !! Ich habe nie erfahren ('arrIndex = arrIndex% arr.length;')! – user14661

+0

@ user14661, wenn Sie eine Frage stellen und eine akzeptable Antwort erhalten, sollten Sie auf das Häkchen links neben der Antwort klicken, um sie zu akzeptieren. – smerny

Verwandte Themen