jQuery setTimeout无法使用1.7版

时间:2012-07-10 09:59:21

标签: jquery settimeout

我正在使用下面的这个脚本,当使用jQuery 1.4但不适用于1.7.2时可以正常工作:

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

现在有人为什么不工作?

由于

1 个答案:

答案 0 :(得分:0)

所以setTimeout只触发一次,并等到3000毫秒才能这样做。

你确定你的DOM已经完全准备好了吗?

尝试以下方法:

<script>

    $(document).ready(function() {

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

    });

</script>

此外,将alert()放在那里也很方便,只是为了确保它肯定会被解雇。

修改

根据你对$ not a function的评论,$ variable被其他框架(或类似)覆盖的可能性很大,以下方法之一将解决这个问题。

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

jQuery(document).ready() // or use the actual jQuery var