Bạn có thể sử dụng setInterval
để thiết lập các cuộc gọi lại theo thời gian, và thiết lập các src
của một img
yếu tố:
window.onload = function() {
var slides = [ "path_to_image_one",
"path_to_image_two",
"path_to_image_three" // ...
],
index = 0,
timer = 0;
// Show the first slide
showNextSlide();
// Show "next" slide every five seconds
timer = setInterval(showNextSlide, 5000);
// The function we call to show the "next" slide
function showNextSlide() {
if (index >= slides.length) {
index = 0;
}
document.getElementById('theImage').src = slides[index++];
}
};
... nơi đánh dấu của bạn cho hình ảnh là:
<img id="theImage" src="path_to_initial_placeholder">
Lưu ý rằng tôi đã lưu trữ bộ đếm thời gian xử lý trong timer
nhưng không được sử dụng nó. Điều này chỉ vì bạn có thể sử dụng nó để hủy hẹn giờ nếu bạn cần dừng trình chiếu.
Cập nhật: Chỉ cần thấy rằng bạn muốn lấy hình ảnh từ div ở đâu đó (trong khi ở trên tôi đã cung cấp đường dẫn trong chính mã). Đủ đơn giản để tạo slides
động; phiên bản sửa đổi của các bên trên mà lấy những hình ảnh đó là trực tiếp con của div với ID "theDiv":
window.onload = function() {
var slides = [],
index = 0,
timer = 0,
node;
// Get the slides
for (node = document.getElementById('theDiv').childNodes;
node;
node = node.nextSibling) {
if (node.nodeType == 1 && node.tagName == "IMG") {
slides.push(node.src);
}
}
// Show the first slide
showNextSlide();
// Show "next" slide every five seconds
timer = setInterval(showNextSlide, 5000);
// The function we call to show the "next" slide
function showNextSlide() {
if (index >= slides.length) {
index = 0;
}
document.getElementById('theImage').src = slides[index++];
}
};
Nguồn
2011-01-21 16:43:25
Tôi có thể hỏi tại sao bạn muốn tạo nhiều công việc hơn cho chính mình? –
chỉ để tìm hiểu, phụ thuộc vào jQ – Blankman