jQuery Mobile .toggle()无效

时间:2013-07-04 15:30:00

标签: jquery-mobile

我目前正在使用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  

我不确定错误的含义以及如何修复代码以获取我正在寻找的功能

2 个答案:

答案 0 :(得分:1)

检查toggle功能的syntax。它有四种不同的通话方式:

  1. 两个参数:

     .toggle( [duration ] [, complete ] )
    

    其中duration是数字或字符串,complete是函数。

  2. 一个参数:

     .toggle( options )
    

    options是具有配置的对象。

  3. 三个参数:

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

    easing是一个字符串。

  4. 一个参数:

     .toggle( showOrHide )
    

    showOrHide是布尔值。

  5. 在您的代码中,您使用三个参数进行调用,这是错误,因为它与以下任何一个都不匹配:

     $('#signinputup').toggle('normal', /*ONE*/
                       function() {$('#signinput').hide('fast');}, /*TWO*/
                       function() {$('#signinput').show('fast');}  /*THREE??*/
     );
    

答案 1 :(得分:1)

尝试这样,只需确保事先隐藏第二个元素

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