0

我试图找到一种方法从这段代码中删除 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);
        });
    });
});
4

1 回答 1

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];
于 2012-05-12T23:44:41.813 回答