body onload功能在IE中不起作用

时间:2015-02-19 17:07:47

标签: jquery html

我有以下代码:

<html>
<head>
  <style>
   #visibilitycontent{
   visibility:hidden;
   }
</style>
</head>
<body onload="visibilitychange()">
  <div id="header">
    This is header content.
  </div>
  <div id="visibilitycontent">
    This is main content.
  </div>
  <div id="footer">
    This is footer content.
  </div>
<script>
   function visibilitychange(){
   if($('#visibilitycontent').css('visibility','hidden')){
    setTimeout(function() {
        $('#visibilitycontent').css('visibility','initial');
        },2000);
     }
   }
   </script>
</body>
</html>

正文 onload 功能在chrome和firefox中正常运行,但它无法在IE上运行。在IE上,第二个div( visibilitycontent )不会将其可见性从隐藏更改为初始。如何使它在IE中工作。

3 个答案:

答案 0 :(得分:2)

<html>
<head>
</head>
<body onload="visibilitychange()">
  <div id="header">
    This is header content.
  </div>
  <div id="visibilitycontent">
    This is main content.
  </div>
  <div id="footer">
    This is footer content.
  </div>
  <script src="js/libs/jquery-1.8.3.min.js"></script>
<script>
   function visibilitychange(){
    $('#visibilitycontent').hide();
    setTimeout(function() {
            $('#visibilitycontent').show();
        },2000);
     }
   </script>
</body>
</html>

使用jquery更改样式在IE中不起作用。不要使用风格。使用hide()show()功能。我在IE中检查了这个,效果很好。如果有帮助,请不要忘记接受答案。

答案 1 :(得分:1)

如果您使用jquery,请使用

$(document).ready(function(){
    setTimeout(function(){
        // On 2000ms (2s) after DOM Ready
    }, 2000);
});

或者

$(function(){
  setTimeout(function(){
        // On 2000ms (2s) after DOM Ready
    }, 2000);
});

他们都准备好绑定到DOM。

答案 2 :(得分:0)

$(function()
{
if($('#visibilitycontent').css('visibility','hidden'))
{
    setTimeout(function() 
    {
        $('#visibilitycontent').css('visibility','initial');
    },2000);
}
});

这会奏效。安装jQuery插件并提供参考链接。

尝试学习jQuery它将是有用和有效的。