0

以下のスクリプトを使用していますが、これは jQuery 1.4 では機能しますが、1.7.2 では機能しません。

<script>
    setTimeout(function(){
      if ($('#hpnews').length > 0) {
        $('#hpnews').fadeIn('slow');
      }
    }, 3000);
</script>

なぜそれが機能しないのですか?

ありがとう

4

1 に答える 1

0

そのsetTimeoutため、一度だけ起動し、3000 ミリ秒待機します。

その時点で DOM の準備が完全に整っていると確信していますか?

次のことを試してください。

<script>

    $(document).ready(function() {

        setTimeout(function(){
            if ($('#hpnews').length > 0) {
                $('#hpnews').fadeIn('slow');
            }
        }, 3000);

    });

</script>

alert()また、確実に発火していることを確認するために、そこにもを入れると便利な場合があります。

編集

$ が関数ではないというコメントによると、$ 変数が別のフレームワーク (または同様のもの) によって上書きされている可能性があります。次のいずれかの方法でこの問題を解決できます。

$j = jQuery.noConflict();
$j(document).ready() // use $j instead of $

jQuery(document).ready() // or use the actual jQuery var
于 2012-07-10T10:05:10.117 に答える