簡體   English   中英

Onmouseout和onmouseover組合無法隱藏和顯示圖像

[英]Onmouseout and onmouseover combo not working to hide and display image

我有以下代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <img src="bhutu_kitten.jpg" alt="kitten bhutu" width="400" height="400" id="kitten" onmouseover=displayKitten() onmouseout=hideKitten() style="display: none">
    <img src="bhutu_baby.jpg" alt="baby bhutu" width="400" height="400" id="baby" onmouseover=hideBaby() onmouseout=displayBaby() style="display: block">

<script>
    function displayKitten(){
        document.getElementById("kitten").style.display='block';
    }
    function hideKitten(){
        document.getElementById("kitten").style.display='none';
    }
    function hideBaby(){
        document.getElementById("baby").style.display='none';
    }
    function displayBaby(){
        document.getElementById("baby").style.display='block';
    }
</script>
</body>
</html>

該代碼的目的是默認情況下顯示image1。

Onmouseover節目image2。

onmouseout顯示圖像1。

但是代碼沒有按預期工作,我哪里出問題了?

您有很多東西行不通。 例如,一個帶有display: none元素的元素將永遠不會觸發onmouseover因為它是不可見的。 或者,當您隱藏一個圖像時,另一個圖像不會顯示-您的代碼只是隱藏當前圖像,僅此而已。

要使其正常工作,您可以嘗試執行以下操作:

 function displayKitten(){ document.getElementById("kitten").style.display='block'; document.getElementById("baby").style.display='none'; } function displayBaby(){ document.getElementById("baby").style.display='block'; document.getElementById("kitten").style.display='none'; } 
 <img src="//lorempixel.com/400/300" alt="kitten bhutu" width="200" height="200" id="kitten" onmouseover=displayBaby()> <img src="//lorempixel.com/300/400" alt="baby bhutu" width="200" height="200" id="baby" onmouseout=displayKitten() style="display: none"> 

暫無
暫無

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

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