Javascript setTimeout不工作,我做错了什么

Javascript setTimeout is not working, what am i doing wrong?

本文关键字:错了 什么 setTimeout 工作 Javascript      更新时间:2023-09-26

<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>

我正试图在单击警报框上的"确定"按钮5秒钟后显示一张图像。我很困惑自己做错了什么。

您必须在这一行中形成一个合法的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);

将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" />