我试图找到一种方法从这段代码中删除math.random函数,但没有成功。我需要用于幻灯片的代码以给定字符串的顺序显示它们。当我删除math.random时,会出现第一张图片(从html链接),并且字符串中的图片不会加载。有谁知道如何从这段代码中删除math.random?
$(function() {
var images = ["home_photo_welshboy.jpg","home_photo_jam343.jpg","home_photo_xdjio.jpg","home_photo_ccgd.jpg"];
$('<img>').attr({'src':'http://l.yimg.com/g/images/'+images[0],'id':'bg','alt':''}).appendTo('#bg-wrapper').parent().fadeIn(1000);
$('.change').click(function(e) {
e.preventDefault();
var image = images[Math.floor(Math.random()*images.length)];
$('#bg').parent().fadeOut(200, function() {
$('#bg').attr('src', 'http://l.yimg.com/g/images/'+image);
$(this).fadeIn(200);
});
});
});
答案 0 :(得分:3)
为当前图片保留一个计数器:
$(function() {
// ...
var current_image = 0;
$('.change').click(function(e) {
// ...
var image = images[current_image++ % images.length];
// ...
});
});
由于模数的原因,每次点击current_image
都会增加并“回绕”。
当然你也可以更明确地说明:
current_image = (current_image + 1) % images.length;
var image = images[current_image];