2

私がこれらの2つの機能を持っているとしましょう:

function z(a,b,c){
    $("#d").click(function(){
        var sum = a+b+c;
        x(sum)
    }

    function x(first){
        var second = first*(first+1);
        var third = second*(second+1);
        $("#e").animate({
            "left": "+=first%"
        },{
            complete:function(){
                z(first, second, third)
        });

最初の関数[]をさまざまな引数でトリガーし、アニメーションの後にfunction z前の関数を「バインド解除」したいと思います。.click() event


初めてクリックすると#d#e移動し(a+b+c)%ます。2回目にクリックすると#d#e移動し(a+b+c)+(a+b+c)*(a+b+c+1)+(a+b+c)*(a+b+c+1)*((a+b+c)*(a+b+c+1)+1)%ます。3回目...

使ってみましunbindたが、なかなかうまくいかなかったようです。私はますます厄介なコードを書くことになりました。unbind使うのは賢い方法ではないと思います。

4

1 に答える 1

3
function z(a,b,c){
        x(a+b+c);
}

function x(first) {
    var second = first*(first+1);
    var third = second*(second+1);
    $("#e").animate({
    "left": "+=first%"
    },{
    complete:function(){
    z(first, second, third)
});

$(document).ready(function(){
    $("#d").one("click",function(){
        z(1,2,3);
    });
});

「one()」関数は、最初にクリックした後に「クリック」イベントがバインドされていないことを確認します。

参照:http ://api.jquery.com/one/

于 2012-05-03T15:30:44.540 に答える