.toggle()函数不起作用

时间:2014-04-17 18:37:20

标签: javascript jquery

编辑:

我已更改为以下内容但仍然无效:

    $( document ).ready(function() {
    $('.hide').hide();
    $('#bio1 a').click(function()
    {
      //Change case studies
      $('#more1').toggle('slow');
    });

由于某些原因,我的jquery切换功能不起作用,尽管.hide()函数可以。我不确定是什么问题,欢迎任何建议!

HTML:

                <h3><a>Some dude</a></h3>
                <p>SOME TEXT
                    <br> <div id="bio1">  <a href="" > <i > <b> Read More </b> </i> </a> <br></div>
                    <div class="hide" id="more1"> SOME TEXT.</p></div>

JAVASCRIPT:

    $( document ).ready(function() {
        $(.hide).hide();
        $('#bio1').click(function()
        {
          $('#more1').toggle(slow);
        });    
    });

4 个答案:

答案 0 :(得分:3)

您可能会收到此错误:

Uncaught SyntaxError: Unexpected token .

原因是$(.hide)。您需要将类名包装在引号$('.hide')中。

其次,你会收到这个错误:

Uncaught ReferenceError: slow is not defined 

原因是.toggle(slow)。由于slow不是变量,因此您需要将其包含在引号'.toggle('slow')'

最终代码应该看起来像

$( document ).ready(function() {
    $('.hide').hide();
// -- ^     ^ add this
    $('#bio1').click(function()
    {
      $('#more1').toggle('slow');
      // ----            ^    ^ add this
    });    
});

<强> Fiddle Demo

答案 1 :(得分:1)

这里缺少Qoutation:

$(.hide).hide();

这将是:

$('.hide').hide();

然后还要更改参数:

$('slow') // or time in milliseconds..

答案 2 :(得分:1)

slow周围添加一些引号,否则会产生错误$('#more1').toggle("slow");

答案 3 :(得分:0)

您的代码存在一些问题。

  1. $(.hide).hide();错了。它必须是$('.hide').hide();
  2. $('#more1').toggle(slow); - 没有定义慢。
  3. 试试这个。

    $('#bio1').click(function(){
        $('#more1').toggle();   
    });
    

    <强> Fiddle