Bây giờ, tôi mới sử dụng lập trình web, javascript nói riêng. Tôi đang cố gắng viết một tập lệnh sẽ cập nhật hình ảnh trên trang web và văn bản của nó khi người dùng nhấp vào hình ảnh. Đây là mã:Văn bản trở nên không xác định khi đi qua một mảng
//Images array
imgs = Array("test1.jpg", "test2.jpg", "test3.jpg");
//Names array
names = Array("Test1", "Test2", "Test3");
//Holds how many times our page has been clicked
var click = 0;
//Another click var
var click2 = 0;
//change function
function change()
{
//Get the ID of 'nam', and start incrementing the elements in our array
document.getElementById("nam").innerHTML = names[++click2];
//Get an element with the ID 'first', and start incrementing the elements in our array
document.getElementById("first").src = imgs[++click];
//If the user clicks to the end of the gallery
if(click==2)
{
click = -1;
}
if(click2==2)
{
click = -1;
}
}
Có lẽ không phải là cách tốt nhất để làm điều này, nhưng mã này sẽ hoạt động lúc đầu. Tuy nhiên, khi tôi nhấp vào hình ảnh thứ ba để quay lại hình ảnh đầu tiên, hình ảnh hoạt động tốt, nhưng văn bản sẽ trở thành 'không xác định'. Tôi đã tìm kiếm xung quanh, nhưng tôi dường như không thể tìm thấy bất cứ điều gì thực sự 'sai' với mã này.
Mọi trợ giúp đều được đánh giá cao.
Tạo một mảng với '[..]'. Không phải với 'Array (..)'. Nó sẽ là 'new Array (..)' trong ví dụ của bạn thực sự. – 0x499602D2
Thấy rằng bạn mới làm quen với Js: xin lưu ý rằng thực tế là việc sử dụng các hàm tạo 'Array' và' Object' rõ ràng là hành vi xấu. Nó thậm chí còn tồi tệ hơn khi bạn bỏ qua từ khóa 'mới'. Vì vậy, hoặc sử dụng (_bad_) 'new Array();' hoặc thường được sử dụng (và được chấp nhận là tốt hơn thay thế) 'var myArray = []; var myObject = {}; ' –