Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 一个div按钮,每次新的点击都会触发多个功能_Javascript_Jquery - Fatal编程技术网

Javascript 一个div按钮,每次新的点击都会触发多个功能

Javascript 一个div按钮,每次新的点击都会触发多个功能,javascript,jquery,Javascript,Jquery,我试图让一个div框作为多个功能的主按钮;而这些功能将相继启动;但每次新点击。例如,单击=函数激发。单击=行中的下一个函数,以此类推。目前我有以下内容;这很好,但它不是在编码时连续启动函数,而是根据需要每次单击;一个接一个我在“”的困境现场演示 那么如何创建一个按钮和30个函数,每次单击都会调用这些按钮和函数。如果定义了函数,它将调用该函数,否则它将提醒单击编号? 我想试试这个: var a1_Events = [function1, function2, function3, function

我试图让一个div框作为多个功能的主按钮;而这些功能将相继启动;但每次新点击。例如,单击=函数激发。单击=行中的下一个函数,以此类推。目前我有以下内容;这很好,但它不是在编码时连续启动函数,而是根据需要每次单击;一个接一个我在“”的困境现场演示

那么如何创建一个按钮和30个函数,每次单击都会调用这些按钮和函数。如果定义了函数,它将调用该函数,否则它将提醒单击编号?

我想试试这个:

var a1_Events = [function1, function2, function3, function4, function5, function6, function7, function8];


$('#area1').click(function () {
    if (a1_Events.length > 0)
    {
        var tfunc = a1_Events.shift();
        tfunc();
    }
    else
    {
       // all functions have been executed
    }
});

这段代码在执行时从数组中删除每个函数,直到函数结束。您仍然需要原始代码中的所有函数声明。

您可以根据按钮/div的点击次数,使用
开关或
if
语句简化代码。每一个案例都会控制你的行为,激发你的功能,无论什么

$('button').click(function(){

  ++funcNum;

  switch(funcNum){
    case 1:
    alert('This is click ' + funcNum);
    break;

下面是一个小提琴示例-

您也可以尝试一下:

$(document).ready(function () {

var a1_Events = function1,
 a1_c = 0;

function function1() {
a1_Events=function2;
    alert('Click 1!');
}
function function2() {
a1_Events=function3;
    alert('Click 2!');
}
function function3() {
a1_Events=function4;
    $("#area1").hide();
    $("#area2").show();
    alert('Click 3!');
}.... so on

所以,这似乎令人振奋!如何将当前的一些函数压缩为这种格式?对于每种情况,您都可以添加一个函数调用-case1:function1();-或者,如果功能所做的只是显示一个警报,只需将逻辑移到案例中,如答案所示。这里有一个例子-
$(document).ready(function () {

var a1_Events = function1,
 a1_c = 0;

function function1() {
a1_Events=function2;
    alert('Click 1!');
}
function function2() {
a1_Events=function3;
    alert('Click 2!');
}
function function3() {
a1_Events=function4;
    $("#area1").hide();
    $("#area2").show();
    alert('Click 3!');
}.... so on