Js自动扩展div在我的页面中不起作用

时间:2012-08-18 12:29:10

标签: javascript jquery expand collapse

我正在尝试在我正在设计的网站上制作一个自动扩展div,但它似乎无法在页面上工作(在jsfiddle.net上正常工作)

脚本:http://jsfiddle.net/tJugd/1057/

var lol;
lol = 0;

$('#question').click(function(){
    if (lol==0){
      $('#question').animate({height:'300'});
      lol = 1;
    }else{
      $('#question').animate({height:'0'});
      lol = 0;                     
    }
})

这是我试图实现的页面:http://www.trulyscience.com/test/index.html(sie上的红色“问题”)

我真的不知道我做错了什么,我检查了很多相关的线程,大多数工作但也只是在Jsfiddle而不是我的页面。

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:1)

您可以使用触发器方法执行此操作,在声明事件单击“#question”后调用它:

function loadQuestion(){

    var lol;
    lol = 0;

    $('#question').click(function(){
        if (lol==0){
          $('#question').animate({height:'300'});
          lol = 1;
        }else{
          $('#question').animate({height:'0'});
          lol = 0;                     
        }
    });

    $('#question').trigger('click'); // Simulating click
}

$(document).ready(function(){
    loadQuestion();
});

http://jsfiddle.net/tJugd/1058/

答案 1 :(得分:0)

你在同一个html文档中使用两次id问题,这可能会导致问题。如果要对元素使用相同的名称,请使用class而不是id。

还尝试使用$(document).ready(function(){ /*your code*/ });

包装代码

答案 2 :(得分:0)

嗯,首先,在您的网站上,$不是jQuery。它是document.getElementById的快捷方式。

我在加载页面后在控制台中运行了这段代码,动画工作正常:

var lol = 0;
jQuery('#question').click(function (){
if (lol === 0){
      jQuery('#question').animate({height:'300'});
      lol = 1;
    }else{
      jQuery('#question').animate({height:'20'});
      lol = 0;                     
    }
});