0

私は現在 jQuery Mobile を使用しており、ボタンをクリックするたびに特定の div を表示または非表示にしたいだけです。これが私のコードです:

$('#SignUpLink').click(function() 
            {
                    $('#signinputup').toggle('normal',function() {
                      $('#signinput').hide('fast');
                    }, function() {
                      $('#signinput').show('fast');
                    });
            });

私は単純にSignUpLinkボタンをクリックして、表示して非表示にしたいだけsigninputで、signinputクリックするとSignUpLink逆になります。しかし、上記のコードでは、次のエラーが発生します。

Uncaught TypeError: Property 'function () {
                      $('#signinput').hide('fast');
                    }' of object #<Object> is not a function  

エラーの意味と、探している機能を取得するためにコードを修正する方法がわかりません

4

2 に答える 2

1

このようにしてみてください。2番目の要素が事前に非表示になっていることを確認してください

$('#SignUpLink').click(function() {
    $('#signinput, #signinputup').toggle();
});
于 2013-07-04T16:10:59.253 に答える
1

関数の構文を確認してくださいtoggle。次の 4 つの異なる呼び出し方法があります。

  1. 2 つのパラメーター:

     .toggle( [duration ] [, complete ] )
    

    は数値durationまたは文字列とcomplete関数です。

  2. 1 つのパラメーター:

     .toggle( options )
    

    options構成を持つオブジェクトはどこにありますか。

  3. 3 つのパラメーター:

     .toggle( duration [, easing ] [, complete ] )
    

    文字列はどこeasingにありますか。

  4. 1 つのパラメーター:

     .toggle( showOrHide )
    

    showOrHideブール値はどこにありますか。

コードでは、 3 つのパラメーターを使用して呼び出していますが、これは次のいずれとも一致しないため、間違っています。

 $('#signinputup').toggle('normal', /*ONE*/
                   function() {$('#signinput').hide('fast');}, /*TWO*/
                   function() {$('#signinput').show('fast');}  /*THREE??*/
 );
于 2013-07-04T15:39:53.880 に答える