2012-03-07 48 views
0

我有这段代码,并希望有一个动画gif在3秒后消失。我知道我需要添加window.onload = loadingGif();以确保页面加载时触发'loadingGif'函数。我认为这个代码不能正常工作的问题。我想知道那是怎么回事?谢谢。如何使用javascript消失动画gif

对不起,我发布了错误的代码。它必须是:

<body> 

<script type="text/javascript"> 
var counter = 3;        
function downcount() { 
    document.getElementById('digit').firstChild.nodeValue = counter ; 
    if (counter == 0) { 
    document.getElementById('loading').style.display = 'none'; 
    document.getElementById('msg').style.display = 'block'; 
    } else { 
    counter--; 
    window.setTimeout('downcount()', 1000); 
    } 
} 
window.onload=downcount; 
</script> 

<div id="loading"> 
    <img src="loading/loading40.gif"/> 
</div> 

<div id="msg" style="display:none"> 
    <?PHP echo $_SESSION['msg'];?> 
</div> 
+0

'something.style = display:none;'是无效的JavaScript。你正在大量混合普通的JavaScript和jQuery。我建议决定其中的一个。它会使你的代码更加一致和易于阅读。 'window.onload = loadingGif();''将'loadingGif'的*返回值赋给'window.onload',而不是函数本身。我建议修改一些JavaScript基础知识。 – 2012-03-07 10:00:22

+0

“如何消失一些东西” - 让我想起Catch 22及其角色想知道“消失某人”意味着什么;) – MMM 2012-03-07 10:01:13

+1

但是,严肃地说,你的代码中有很多语法错误和错误。重写整个事情。 – MMM 2012-03-07 10:02:06

回答

0

关闭img标记。

另外,哪里的数字?如果这不存在,那么你会得到JS错误。

0

你正在做三个1秒setTimeout等待3秒?这是一个更简单的解决方案,就在我的头上......

window.onload = setTimeout(removeImg, 3000) 
var removeImg = function() { 
    document.getElementById('loading').style.display = 'none' 
    document.getElementById('msg').style.display = 'block' 
}