Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

วิธีแสดงภาพเปลี่ยนเมื่อเลื่อนเมาส์ (Image Rollover) ด้วย JavaScript

หากต้องการแสดงภาพเปลี่ยนเมื่อเลื่อนเมาส์ (image rollover) ด้วยเหตุการณ์เมาส์ ให้ลองรันโค้ดด้านล่าง:

ตัวอย่าง

<html>
  <head>
    <title>Rollover with a Mouse Event</title>
    <script>
      <!--
        if(document.images) {
          var image1 = new Image(); // โหลดภาพล่วงหน้า
          image1.src = "/images/html.gif";
          var image2 = new Image(); // โหลดภาพที่สองล่วงหน้า
          image2.src = "/images/http.gif";
        }
      //-->
    </script>
  </head>
  <body>
    <p>Move your mouse over the image to see the result</p>
    <a href="#" onMouseOver="document.myImage.src = image2.src;" onMouseOut="document.myImage.src = image1.src;">
      <img name="myImage" src="/images/html.gif" />
    </a>
  </body>
</html>

คำอธิบายการทำงาน:

  • ขณะโหลดหน้า คำสั่ง if จะตรวจสอบว่ามีออบเจ็กต์รูปภาพหรือไม่ หากไม่มี บล็อกนี้จะไม่ทำงาน
  • คอนสตรัคเตอร์ Image() สร้างและโหลดออบเจ็กต์รูปภาพใหม่ชื่อ image1 ล่วงหน้า
  • คุณสมบัติ src ถูกกำหนดเป็นชื่อไฟล์ภาพภายนอก /images/html.gif
  • สร้างออบเจ็กต์ image2 ขึ้นมาและกำหนด /images/http.gif ไว้ในออบเจ็กต์นี้
  • เครื่องหมาย # (hash mark) ปิดการทำงานของลิงก์ เพื่อไม่ให้เบราว์เซอร์พยายามไปยัง URL เมื่อคลิก ลิงก์นี้คือรูปภาพ
  • ตัวจัดการเหตุการณ์ onMouseOver จะทำงานเมื่อเมาส์ของผู้ใช้เลื่อนเข้ามาบนลิงก์ และ onMouseOut จะทำงานเมื่อเมาส์เลื่อนออกจากลิงก์ (รูปภาพ)