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