簡體   English   中英

IE11中未定義Javascript函數

[英]Javascript function is undefined in IE11

我寫了一個示例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>

我怎樣才能解決這個問題? 謝謝。

我相信,如果沒有Jaromanda X提到的Javascript庫,Promise函數將與IE不兼容。https ://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise

您不需要JavaScript即可達到這種效果,您可以使用純CSS,即:hover偽類和+相鄰元素選擇器:

#image_div {
    display: none;
}

#switch_a:hover + #image_div {
    display: block;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM