0

以下を使おうとしています.toggleが、うまくいかないようです。

私が目指しているのは、クリックテキストをクリックすると、ページの外側からボックスが出てきて、水平方向に特定の位置に入るということです。そして、もう一度クリックすると、画面外の位置に戻ります。ベロー私はちょうど垂直の高さをいじっています。しかし、トグル機能を動作させることができないようですか?

$(document).ready(function () {

$("#click").toggle(Click1, Click2).click(function Click1() {
    $(".test").animate({
        top: "300px"
    });
});

$("#click").click(function Click2() {
    $(".test").animate({
        top: "30px"
    });
});

Jsfiddle

4

1 に答える 1

1

.toggle.clickイベントをバインドします。との両方を呼び出さないでください。.toggle.click

Click1およびClick2関数を作成する方法のため、それらはスコープの一番上に引き上げられません。変数Click1とは、それ自体の内部Click2でのみ定義され、より高いスコープでは定義されません。

次のようにイベントをバインドする必要があります。

$("#click").toggle(function() {
    $(".test").animate({
        top: "300px"
    });
}, function() {
    $(".test").animate({
        top: "30px"
    });
});
于 2013-03-18T16:37:18.760 に答える