Javascript 选择随机函数

Javascript 选择随机函数,javascript,Javascript,我有一个功能列表: function randomiseiconscycle1() { $("#iconTwoContainer img, #iconFiveContainer img, #iconSevenContainer img").fadeIn(300); setTimeout( function(){ $("#iconTwoContainer img, #iconFiveContainer img, #iconSevenContainer img

我有一个功能列表:

    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个功能中的一个(如上所述)


任何帮助都将不胜感激。

我想你正在寻找这样的东西

function callRandomFunction() {
    var random = Math.floor(Math.random()*8);
    switch(random){
    case 0:
        randomiseiconscycle1();
        break;
    case 1:
        ....
    ...
    }
}

在javascript中,函数只是对象,因此您可以使用它们做一些有趣的事情(例如随机选择一个)

这应该足以让您开始:


您可以创建一个函数数组,生成一个随机数,并使用该随机数调用其中一个函数:

    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);
}

将对函数的引用放入数组中:

var iconcycle = [
  randomiseiconscycle1, randomiseiconscycle2,
  randomiseiconscycle3, randomiseiconscycle4,
  randomiseiconscycle5, randomiseiconscycle6,
  randomiseiconscycle7, randomiseiconscycle8
];
现在,您可以随机选择一个并称之为:

iconcycle[Math.floor(Math.random() * iconcycle.length)]();

假设您有两个函数,即RandomiseIConCycle1和RandomiseIConCycle2

$(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)();
});

});​

我的直觉是只需要一个
randomiseconcycle()
函数,并用定义要使用哪些元素的参数来调用它。我首先建议发布(相关)html来帮助我们回答您的问题。这是。。。有趣吗?。。。Javascript的一部分有数百万种方法来完成同样的事情:D