0

1 つの div ボックスを複数の機能のメイン ボタンとして機能させようとしています。そして、これらの関数は次々と連続して起動します。ただし、新しいクリックごとに。例:クリック = 関数が起動します。クリック = 行内の次の関数が起動する、など。現在、私は以下を持っています。これは問題ありませんが、必要に応じてクリックごとにコード化されているため、関数を連続して起動していません。続々。「 http://bit.ly/10BW89N」での私のジレンマのライブデモ

では、クリックごとに呼び出される 1 つのボタンと 30 の関数を作成する方法について説明します。関数が定義されている場合、関数が呼び出されます。それ以外の場合は、クリック数が警告されますか?

$(document).ready(function () {
    var a1_Events = [function1, function2, function3, function4, function5, function6, function7, function8],
        a1_c = 0;
    function function1() {
        alert('Click 1!');
    }
    function function2() {
        alert('Click 2!');
    }
    function function3() {
        $("#area1").hide();
        $("#area2").show();
        alert('Click 3!');

    }

    function function4() {
        alert('Click 4!');
    }

    function function5() {
        alert('Click 5!');
    }
    function function6() {
        $("#bg_div").hide(0).delay(1500).show(0);
        $("#bg_skew").show(0).delay(1500).hide(0);
        alert('Click 6!');

    }
    function function7() {
        alert('Click 7!'); 
    }
    function function8() {
        $("#area1").hide(0).delay(1500).show(0);
        $("#area2").hide(0).delay(1500).show(0); 
        $("#sound1").show(0).delay(4500).hide(0);

            document.getElementById("id1").play(); 

        $("#hammer").show(0).delay(1500).hide(0);
        $("#youwin").show(0).delay(3500).hide(0);
        alert('Click 8!');
    }

    $('#area1').click(function () {
        a1_Events[a1_c++ % a1_Events.length]();
    });
    $("#area2").click(function () {
        $("#area1").show();
        $("#area2").hide();
          alert('Click 9!');
    });
});

function alert(msg) {
    $("#alert").text(msg).show(0).delay(1500).hide(0);
}
4

3 に答える 3

0

これも試すことができます:

$(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
于 2013-07-06T05:59:18.020 に答える