如何在body onload上设置计时器?

时间:2014-02-12 07:17:59

标签: javascript html

我想在body onload eventHandler上设置计时器来调用我显示hide div的函数。

<body onload="">
    <div style="display:none;"> hide </div>
</body>

3 个答案:

答案 0 :(得分:1)

  • 为了更好的可读性,我将代码放在一个单独的函数中。
  • 我在div添加了一个ID,以便通过javascript轻松选择。
  • onload属性中,我正在调用setInterval,它将匿名函数作为第一个参数。
  • 每隔一段时间(1000毫秒)后将调用此函数。
  • 然后,该函数将选择ID为theDiv的元素,并将其css display属性设置为blocknone(取决于之前的值)。

JSFiddle for demonstration:http://jsfiddle.net/GAE8L/1/

注意setInterval的第一个参数只是函数名,而不是函数调用(所以没有括号!):

<body onload="setInterval(onTimerElapsed, 1000);">
    <div id="theDiv" style="display:none;">
        hide
    </div>
</body>

<script type="text/javascript">
    function onTimerElapsed() {
        var myDiv = document.getElementById('theDiv');
        myDiv.style.display = myDiv.style.display === 'none' ? 'block' : 'none';
    }
</script>

答案 1 :(得分:0)

试试这个:

<script src="http://code.jquery.com/jquery-latest.min.js"></script>

<div id="div1" style="display:none;">
hide
</div>

<script>
$(function() {
    setTimeout(function() {
            $('#div1').show();
    }, 1000);
});
</script>

答案 2 :(得分:-1)

使用jquery,它更少..     

  function foo() {
    // method show should be called.
    $("#idDiv").show();
  }

  function bar() {
    setTimeout(foo(), 1000)
  }

</script>
</code>
 <body onload="bar()">

 </body>