0

デザインしているWebサイトで自動拡張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だけで、私のページではありませんでした。

誰か助けてもらえますか?

4

3 に答える 3

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/

于 2012-08-18T13:05:25.947 に答える
0

同じhtmlドキュメントでidの質問を2回使用すると、問題が発生する可能性があります。要素に同じ名前を使用する場合は、idの代わりにclassを使用してください。

また、コードを次のようにラップしてみてください$(document).ready(function(){ /*your code*/ });

于 2012-08-18T12:35:33.083 に答える
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;                     
    }
});
于 2012-08-18T12:47:44.437 に答える