0

我正在寻找一个包含所有图像的数组,然后我想为一个随机图像分配一个介于 1 到 10 之间的值。它最终得到的值将以秒为单位的定时倒计时,直到我的 Jquery 动画运行为止。然后代码将一遍又一遍地循环,直到该人离开该页面。

所以我是 Jquery 的新手,但我尽我所能,所以这是我的图像数组和我的随机选择器;

var iconImgs = new Array('star','coffee','picture','code');
var max = iconImgs.length;
var num = Math.floor((Math.random() * max));

然后我需要在 1 - 10 之间选择一个随机时间;

Math.floor((Math.random()*10)+1); 

这是我需要拍摄所选图像并随机时间将它们放在一起然后运行我的动画的难点(注意我不希望它在onenter上运行,但这是我让它工作的唯一方法)。

$(document).ready(function () {
$(".icon").mouseenter(function () {
    $(this).effect("bounce", {
        times: 1
    }, 400);
    });
});

我做了一个 JSFiddle 测试区 - http://jsfiddle.net/UQTY2/167/

4

2 回答 2

2

尝试这个

var iconImgs = new Array('star','coffee','picture','code');
var max = iconImgs.length;
var times = Math.floor((Math.random()*10)+1);

$(document).ready(function () {

    setInterval(function () {
        var num = Math.floor((Math.random() * max));

        $("."+iconImgs[num]+"-icon").effect("bounce", {
            times: times
        }, 400);
    }, 400);

});

JSFIDDLE:http: //jsfiddle.net/UQTY2/168/

于 2013-09-13T14:26:28.643 回答
1

首先确保将随机时间存储在变量中:

var times=Math.floor((Math.random()*10)+1); 

然后在你的函数中,而不是mouseenter仅仅触发效果:

$(document).ready(function () {
    $("."+iconImgs[num]+"-icon").effect("bounce", {
        times: times
    }, 400);
});
于 2013-09-13T14:15:27.300 回答