我写了一个示例html页面来显示一个弹出式div,它在firefox中工作,但不在IE中。它说功能未定义。
这是我的页面:
并且错误消息是“'show_popup_div'未定义”
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=unicode" />
<script type="text/javascript">
function show_popup_div() {
var imageDiv=document.getElementById("image_div");
var switchA=document.getElementById("switch_a");
imageDiv.style.display='block';
}
async function hide_popup_div() {
var imageDiv=document.getElementById("image_div");
await sleep(5000);
imageDiv.style.display='none';
}
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
</script>
</head>
<body>
<a id="switch_a" onmousemove="show_popup_div()" onmouseout="hide_popup_div()">click me to open a image</a>
<div id="image_div">
<img id="image" src="http://www.rd.com/wp-content/uploads/sites/2/2016/02/06-train-cat-shake-hands.jpg" usemap="#map1"/>
</div>
</body>
我该如何解决这个问题?谢谢。
答案 0 :(得分:2)
我认为,如果没有Jaromanda X提到的Javascript库,Promise功能根本不兼容IE。 https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise
答案 1 :(得分:1)
此效果不需要JavaScript,您可以使用:hover
伪类和+
邻接元素选择器使用纯CSS:
#image_div {
display: none;
}
#switch_a:hover + #image_div {
display: block;
}