Javascript setTimeout无法正常工作,我做错了什么?

时间:2014-05-08 00:08:20

标签: javascript onclick settimeout

    

<title></title>
<link rel="stylesheet" type="text/css" href="mystyle.css">

<script type="text/javascript">

    function showImage(image) {
        document.getElementById("image").style.visibilty = "visible";
        document.getElementById("image").src = images / GreenLight.jpg;
    }


    function startTimer() {
        var con = confirm("Press a button");
        if (con == true) {
            x = setTimeout(function () { showImage('image') }, 1);
        }
        else {
            x = "You pressed Cancel!";
        }
    }




</script>
</head>
<body>
<div id="wrapper">
    <div id="header">
        <h1> Page 1</h1>
    </div>
    <div id="menu">
        <ul>
            <li> <a href="default.htm">Home</a>        </li>
            <li class="here"><a href="page1.htm">Page 1</a></li>
            <li><a href="page2.htm">Page 2</a></li>
        </ul>
    </div>
    <div id="content">
        <form id="formpage1" method="post" action="default.htm"></form>

        <button onclick="startTimer()">Click Here</button>
        <div>
            <img id="image" src=images/GreenLight.jpg style="visibility:hidden" />
        </div>
    </div>

    <div id="footer">

    </div>
</div>

</body>
 </html>

我想在&#34; ok&#34;之后5秒钟显示图像。单击警告框上的按钮。我对自己做错了很困惑。

2 个答案:

答案 0 :(得分:2)

您必须在此行中形成合法的javascript字符串,才能根据需要分配.src属性。所以改变这个:

document.getElementById("image").src = images / GreenLight.jpg;

到此:

document.getElementById("image").src = "images/GreenLight.jpg";

仅供参考,错误控制台可能是你的朋友,因为这可能是一个javascript错误,并且会给你错误和行号。


您的HTML也应该使用引号:

<img id="image" src="images/GreenLight.jpg" style="visibility:hidden" />

而且,如果你想延迟5秒,那么你需要将时间设置为5000毫秒:

setTimeout(function () { showImage('image') }, 5000);

答案 1 :(得分:1)

将showImage函数更改为

function showImage(image) {
        document.getElementById(image).style.visibilty = "visible";
        document.getElementById(image).src = "images/GreenLight.jpg";
    }

img的HTML标签应该使用引号:

<img id="image" src="images/GreenLight.jpg" style="visibility:hidden" />