我有一个功能列表:
function randomiseiconscycle1() {
$("#iconTwoContainer img, #iconFiveContainer img, #iconSevenContainer img").fadeIn(300);
setTimeout( function(){
$("#iconTwoContainer img, #iconFiveContainer img, #iconSevenContainer img").fadeOut(300);
},200);
function randomiseiconscycle2() {
$("#iconOneContainer img, #iconSixContainer img").fadeIn(300);
setTimeout( function(){
$("#iconOneContainer img, #iconSixContainer img").fadeOut(300);
},200);
}
每次我点击这个按钮我想要随机激活8个功能中的一个(如上所述)。
任何帮助都会很有用。
答案 0 :(得分:7)
引用数组中的函数:
var iconcycle = [
randomiseiconscycle1, randomiseiconscycle2,
randomiseiconscycle3, randomiseiconscycle4,
randomiseiconscycle5, randomiseiconscycle6,
randomiseiconscycle7, randomiseiconscycle8
];
现在您可以随机选择一个并调用它:
iconcycle[Math.floor(Math.random() * iconcycle.length)]();
答案 1 :(得分:3)
只是对象,所以你可以用它们做一些有趣的事情(比如随机选择一个)
这应该足以让你入门:
var arrayOfFuncs = [];
arrayOfFuncs.push(function () { alert('first func!'); });
arrayOfFuncs.push(function () { alert('second func!'); });
arrayOfFuncs.push(function () { alert('third func!'); });
arrayOfFuncs[0]();
答案 2 :(得分:0)
我认为你正在寻找类似的东西......
function callRandomFunction() {
var random = Math.floor(Math.random()*8);
switch(random){
case 0:
randomiseiconscycle1();
break;
case 1:
....
...
}
}
答案 3 :(得分:0)
您可以创建一个函数数组,生成一个随机数并使用它来调用其中一个函数:
答案 4 :(得分:0)
假设您有2个函数,即randomiseiconscycle1和randomiseiconscycle2
$(function(){
var totalfunc=2; // if more than 2 functions than increase the number.
function randomiseiconscycle1() {
var name=arguments.callee.name;
alert(name);
setTimeout( function(){
alert(name);
},200);
}
function randomiseiconscycle2() {
var name=arguments.callee.name;
alert(name);
setTimeout( function(){
alert(name);
},200);
}
$('button').on('click', function(){
var randomnumber=Math.floor(Math.random()*totalfunc+(1));
var func="randomiseiconscycle"+randomnumber;
eval(func)();
});
});
小提琴是here。