ภาษาไทย
<html> <head> <title>รายการ 35.13. การล้างข้อมูลการเปลี่ยนภาพสำหรับสไลด์ที่เข้ามา</title> <script language="JavaScript" type="text/javascript"> // อาร์เรย์นี้เก็บออบเจ็กต์ที่สามารถ DHTML ของเอกสารได้ทั้งหมด var dhtml_objects = new Array() // ฟังก์ชันนี้ สร้างออบเจ็กต์แบบกำหนดเองที่ทำหน้าที่เป็นฟังก์ชันส่วนหน้าข้ามเบราว์เซอร์ create_object_array() { // แท็ก <div> และ <span> ทั้งหมดถูกเก็บไว้ในตัวแปรเหล่านี้ var div_tags var span_tags var css_tags // เบราว์เซอร์เป็นไปตาม W3C DOM หรือไม่ if (document.getElementById) { // ถ้าเป็นเช่นนั้น ให้ใช้ getElementsByTagName() เพื่อรับแท็ก <div> div_tags = document.getElementsByTagName("div") // วนซ้ำแท็ก <div> สำหรับ (var counter = 0; counter < div_tags.length; counter++) { // เก็บอ็อบเจ็กต์ปัจจุบัน current_object = div_tags[counter] // เก็บวิธีที่เบราว์เซอร์เข้าถึงสไตล์ object_css = current_object.style // เก็บ id ของอ็อบเจ็กต์ object_id = current_object.id // เก็บเฉพาะแท็กเหล่านั้น ที่มีรหัสถ้า (object_id) { // สร้าง dhtml_object ใหม่และเก็บไว้ใน dhtml_objects dhtml_objects[object_id] = new dhtml_object(current_object, object_css, object_id) } } // ใช้ getElementsByTagName() เพื่อรับแท็ก <span> span_tags = document.getElementsByTagName("span") // วนซ้ำแท็ก <span> สำหรับ (var counter = 0; counter < span_tags.length; counter++) { // เก็บอ็อบเจ็กต์ปัจจุบัน current_object = span_tags[counter] // เก็บวิธี เบราว์เซอร์เข้าถึงสไตล์ object_css = current_object.style // เก็บ id ของวัตถุ object_id = current_object.id // เก็บเฉพาะแท็กที่มี id ถ้า (object_id) { // สร้าง dhtml_object ใหม่และเก็บไว้ใน dhtml_objects dhtml_objects[object_id] = new dhtml_object(current_object, object_css, object_id) } } } // เบราว์เซอร์รองรับ DHTML DOM หรือไม่ else if (document.all) { // ถ้าเป็นเช่นนั้น ให้ใช้ document.all เพื่อรับแท็ก <div> div_tags = document.all.tags("div") // วนซ้ำแท็ก <div> สำหรับ (var counter = 0; counter < div_tags.length; counter++) { // เก็บอ็อบเจ็กต์ปัจจุบัน current_object = div_tags[counter] // เก็บวิธีที่เบราว์เซอร์เข้าถึงสไตล์ object_css = current_object.style // เก็บ id ของอ็อบเจ็กต์ object_id = current_object.id // เท่านั้น เก็บแท็กเหล่านั้นที่มี id if (object_id) { // สร้าง dhtml_object ใหม่และเก็บไว้ใน dhtml_objects dhtml_objects[object_id] = new dhtml_object(current_object, object_css, object_id) } } // ใช้ document.all เพื่อรับ <span > แท็ก span_tags = document.all.tags("span") // วนซ้ำแท็ก <span> สำหรับ (var counter = 0; counter < span_tags.length; counter++) { // เก็บอ็อบเจ็กต์ปัจจุบัน current_object = span_tags[counter ] // เก็บวิธีที่เบราว์เซอร์เข้าถึงสไตล์ object_css = current_object.style // เก็บ id ของอ็อบเจ็กต์ object_id = current_object.id // เก็บเฉพาะแท็กที่มี id ถ้า (object_id) { // สร้าง dhtml_object ใหม่และเก็บไว้ใน dhtml_objects dhtml_objects[object_id] = new dhtml_object(current_object, object_css, object_id) } } } // เบราว์เซอร์สอดคล้องกับ LDOM หรือไม่ else if (document.layers) { // ใช้ document.layers เพื่อรับแท็ก <div> และ <span> ตำแหน่ง css_tags = document.layers // วนผ่านเลเยอร์สำหรับ (var counter = 0; counter < css_tags.length; counter++) { // เก็บอ็อบเจ็กต์ปัจจุบัน current_object = css_tags[counter] // เก็บวิธีที่เบราว์เซอร์เข้าถึงสไตล์ object_css = current_object // เก็บ id ของอ็อบเจ็กต์ object_id = current_object.id // เก็บเฉพาะแท็กที่มี id ถ้า (object_id ) { // สร้าง dhtml_object ใหม่และเก็บไว้ใน dhtml_objects dhtml_objects[object_id] = new dhtml_object(current_object, object_css, object_id) } } } } function dhtml_object (obj, css, id) { this.obj = obj this.css = css this.id = id this.left = get_left this.right = get_right this.top = get_top this.bottom = get_bottom this.width = get_width this.height = get_height this.visibility = get_visibility this.zIndex = get_zIndex this.move_to = move_to this.move_by = move_by this.set_left = set_left this.set_top = set_top this.set_width = set_width this.set_height = set_height this.set_visibility = set_visibility this.set_zIndex = set_zIndex this.move_above = move_above this.move_below = move_below this.set_พื้นหลังสี = set_พื้นหลังสี this.set_พื้นหลังImage = set_พื้นหลังรูปภาพ this.set_html = set_html this.get_clip_top = get_clip_top this.get_clip_right = get_clip_right this.get_clip_bottom = get_clip_bottom this.get_clip_left = get_clip_left this.get_clip_width = get_clip_width this.get_clip_height = get_clip_height this.resize_clip_to = resize_clip_to this resize_clip_by = resize_clip_by } ฟังก์ชั่น get_left() { return parseInt(this.css.left) } ฟังก์ชั่น get_right() { return this.left() + this.width() } ฟังก์ชั่น get_top() { return parseInt(this.css.top) } function get_bottom() { return this.top() + this.height() } function get_width() { // นี่เป็นเบราว์เซอร์ W3C หรือ DHTML DOM หรือไม่ if (!document.layers) { // ถ้าใช่ ความกว้างถูกกำหนดไว้หรือไม่? if (this.css.width) { // หากเป็นเช่นนั้น ให้ส่งคืนคุณสมบัติ width return parseInt(this.css.width) } else { // ถ้าไม่ ให้ส่งคืนคุณสมบัติ offsetWidth return parseInt(this.obj.offsetWidth) } } else { // ถ้าไม่ ให้ส่งคืนความกว้างของเอกสารของเลเยอร์ return parseInt(this.obj.document.width) } } function get_height() { // นี่คือเบราว์เซอร์ W3C หรือ DHTML DOM หรือไม่ if (!document.layers) { // ถ้าใช่ ความสูงถูกกำหนดไว้หรือไม่? if (this.css.height) { // หากเป็นเช่นนั้น ให้ส่งคืนคุณสมบัติความสูง return parseInt(this.css.height) } else { // ถ้าไม่เช่นนั้น ให้ส่งคืนคุณสมบัติ offsetHeight return parseInt(this.obj.offsetHeight) } } else { // ถ้าไม่ ให้ส่งคืนความสูงของเอกสารของเลเยอร์ return parseInt(this.obj.document.height) } } function get_visibility() { // นี่คือเบราว์เซอร์ W3C หรือ DHTML DOM หรือไม่ if (!document.layers) { // ถ้าเป็นเช่นนั้น มีการกำหนดการมองเห็นหรือไม่? if (this.css.visibility) { // หากเป็นเช่นนั้น ให้ส่งคืนคุณสมบัติการมองเห็น return this.css.visibility } } else { // ไม่อย่างนั้นจะเป็นเบราว์เซอร์ LDOM ดังนั้น // จัดการค่าการมองเห็นที่เป็นกรรมสิทธิ์ถ้า (this.css .visibility == "show") { return "visible" } if (this.css.visibility == "hide") { return "hidden" } } // ถ้าเราไปได้ไกลขนาดนี้ แค่ return "inherit" return "inherit" " } function get_zIndex() { return this.css.zIndex } function move_to (new_left, new_top) { this.css.left = new_left this.css.top = new_top } function move_by (delta_left, delta_top) { // เพิ่มเดลต้า ค่า this.css.left = this.left() + parseInt(delta_left) this.css.top = this.top() + parseInt(delta_top) } ฟังก์ชั่น set_left (new_left) { this.css.left = new_left } ฟังก์ชั่น set_top (new_top) { this.css.top = new_top } ฟังก์ชั่น set_width (new_width) { // นี่คือเบราว์เซอร์ W3C หรือ DHTML DOM หรือไม่ if (!document.layers) { // หากเป็นเช่นนั้น ให้ตั้งค่าคุณสมบัติ width this.css.width = new_width } } function set_height (new_height) { // นี่คือเบราว์เซอร์ W3C หรือ DHTML DOM หรือไม่ if (!document.layers) { // ถ้าเป็นเช่นนั้น ให้ตั้งค่าคุณสมบัติ width this.css.height = new_height } } function set_visibility (new_visibility) { // นี่คือเบราว์เซอร์ W3C หรือ DHTML DOM หรือไม่ if (!document.layers) { // หากเป็นเช่นนั้น ให้ตั้งค่าการมองเห็น // เป็นค่าของอาร์กิวเมนต์ this.css.visibility = new_visibility } else { // มิฉะนั้น ให้ตั้งค่าการมองเห็นที่เป็นกรรมสิทธิ์ if (new_visibility == " มองเห็นได้") { this.css.visibility = "show" } else if (new_visibility == "hidden") { this.css.visibility = "hide" } else { this.css.visibility = "inherit" } } } ฟังก์ชัน set_zIndex(new_zindex) { // ดัชนี z ใหม่มากกว่า 0 หรือไม่ if (new_zindex > 0) { // ถ้าเป็นเช่นนั้น ให้ตั้งค่า this.css.zIndex = new_zindex } else { // ถ้าไม่ ให้ตั้งค่าเป็น 0 this.css.zIndex = 0 } } function move_above(reference_object) { this. css.zIndex = Reference_object.css.zIndex + 1 } function move_below(reference_object) { // รับดัชนี z ของวัตถุอ้างอิง Reference_zindex = Reference_object.css.zIndex // มันมากกว่า 0 หรือไม่? if (reference_zindex > 0) { // หากเป็นเช่นนั้น ให้ตั้งค่า z-index ของออบเจ็กต์นี้ให้น้อยลงหนึ่ง this.css.zIndex = Reference_zindex - 1 } else { // ถ้าไม่เช่นนั้น ให้ตั้งค่า z-index ของออบเจ็กต์อ้างอิงเป็น 1 // และของออบเจ็กต์นี้ ดัชนี z ถึง 0 Reference_object.css.zIndex = 1 this.css.zIndex = 0 } } ฟังก์ชั่น set_พื้นหลังสี(new_color) { // นี่คือเบราว์เซอร์ W3C หรือ DHTML DOM หรือไม่ if (!document.layers) { // ถ้าเป็นเช่นนั้น ให้ใช้คุณสมบัติ backgroundColor this.css.พื้นหลังสี = new_color } else { // ถ้าไม่ใช่ ให้ใช้คุณสมบัติ bgcolor this.css.bgColor = new_color } } function set_groundImage(new_image) { // นี่คือเบราว์เซอร์ W3C หรือ DHTML DOM หรือไม่ if (!document.layers) { // ถ้าเป็นเช่นนั้น ให้ใช้คุณสมบัติ backgroundImage this.css.พื้นหลังImage = "url(" + new_image + ")" } else { // ถ้าไม่ใช่ ให้ใช้คุณสมบัติพื้นหลัง this.css.พื้นหลัง .src = new_image } } function set_html(new_html) { // นี่เป็นเบราว์เซอร์ W3C หรือ DHTML DOM หรือไม่ if (!document.layers) { // ถ้าเป็นเช่นนั้น ให้ใช้คุณสมบัติ innerHTML this.obj.innerHTML = new_html } else { // ถ้าไม่เช่นนั้น ให้ใช้เมธอด document.write() this.obj.document.open() this .obj.document.write(new_html) this.obj.document.close() } } ฟังก์ชั่น get_clip_top() { // นี่คือเบราว์เซอร์ W3C หรือ DHTML DOM หรือไม่ if (!document.layers) { // ถ้าเป็นเช่นนั้น ก่อนอื่นให้แยกสตริงคลิป parse_dom_clip(this) // ค่าของคลิปตอนนี้อยู่ในวัตถุ current_clip return current_clip.top } else { // มิฉะนั้น ให้ใช้ clip.top ส่งคืนสิ่งนี้ css.clip.top } } ฟังก์ชัน var current_clip clip_object (บน, ขวา, ล่าง, ซ้าย) { this.top = บนสุด this.right = ขวา this.bottom = ล่าง this.left = ซ้าย } ฟังก์ชัน parse_dom_clip (current_object) { clip_string = current_object.css.clip if (clip_string.length > 0) { varvalues_string = clip_string.slice(5, clip_string.length - 1) var clip_values =values_string.split(" ") var clip_top = parseInt(clip_values[0]) var clip_right = parseInt(clip_values[1]) var clip_bottom = parseInt(clip_values[2]) var clip_left = parseInt(clip_values[3]) } else { var clip_top = 0 var clip_right = current_object.width() var clip_bottom = current_object.height () var clip_left = 0 } current_clip = new clip_object(clip_top, clip_right, clip_bottom, clip_left) } function get_clip_right() { // นี่คือเบราว์เซอร์ W3C หรือ DHTML DOM หรือไม่ if (!document.layers) { // ถ้าเป็นเช่นนั้น ก่อนอื่นให้แยกสตริงคลิป parse_dom_clip(this) // ค่าของคลิปตอนนี้อยู่ในวัตถุ current_clip return current_clip.right } else { // มิฉะนั้น ให้ใช้ clip.right ส่งคืนสิ่งนี้ css.clip.right } } function get_clip_bottom() { // นี่เป็นเบราว์เซอร์ W3C หรือ DHTML DOM หรือไม่ if (!document.layers) { // ถ้าเป็นเช่นนั้น ก่อนอื่นให้แยกสตริงคลิป parse_dom_clip(this) // ค่าของคลิปตอนนี้อยู่ในวัตถุ current_clip return current_clip.bottom } else { // มิฉะนั้น ให้ใช้ clip.bottom ส่งคืนสิ่งนี้ css.clip.bottom } } function get_clip_left() { // นี่เป็นเบราว์เซอร์ W3C หรือ DHTML DOM หรือไม่ if (!document.layers) { // ถ้าเป็นเช่นนั้น ก่อนอื่นให้แยกสตริงคลิป parse_dom_clip(this) // ค่าของคลิปตอนนี้อยู่ในวัตถุ current_clip return current_clip.left } else { // มิฉะนั้น ให้ใช้ clip.left ส่งคืนสิ่งนี้ css.clip.left } } function get_clip_width() { // นี่เป็นเบราว์เซอร์ W3C หรือ DHTML DOM หรือไม่ if (!document.layers) { // ถ้าเป็นเช่นนั้น ก่อนอื่นให้แยกสตริงคลิป parse_dom_clip(this) // ค่าของ Clip ตอนนี้อยู่ในวัตถุ current_clip return current_clip.right - current_clip.left } else { // มิฉะนั้น ให้ใช้ clip width return this.css.clip.width } } function get_clip_height() { // นี่เป็นเบราว์เซอร์ W3C หรือ DHTML DOM หรือไม่ if (!document.layers) { // ถ้าเป็นเช่นนั้น ก่อนอื่นให้แยกสตริงคลิป parse_dom_clip(this) // ค่าของ Clip ตอนนี้อยู่ในวัตถุ current_clip return current_clip.bottom - current_clip.top } else { // มิฉะนั้น ให้ใช้ clip width return this.css.clip.height } } ฟังก์ชั่น resize_clip_to(new_top, new_right, new_bottom, new_left) { if (new_top == "auto") {new_top = this.get_clip_top() } if (new_right == "auto") {new_right = this.get_clip_right() } if (new_bottom == "auto") {new_bottom = this.get_clip_bottom() } if (new_left == "auto") {new_left = this.get_clip_left() } // นี่คือ เบราว์เซอร์ W3C หรือ DHTML DOM? if (!document.layers) { // ค่าคลิปตอนนี้อยู่ในวัตถุ current_clip this.css.clip = "rect(" + new_top + " " + new_right + " " + new_bottom + " " + new_left + ")" } else { // มิฉะนั้น ให้ใช้คุณสมบัติคลิป this.css.clip.top = new_top this.css.clip.right = new_right this.css.clip.bottom = new_bottom this.css.clip.left = new_left } } function resize_clip_by( delta_top, delta_right, delta_bottom, delta_left) { var new_top = this.get_clip_top() + delta_top var new_right = this.get_clip_right() + delta_right var new_bottom = this.get_clip_bottom() + delta_bottom var new_left = this.get_clip_left() + delta_left / / นี่คือเบราว์เซอร์ W3C หรือ DHTML DOM หรือไม่ if (!document.layers) { // ค่าคลิปตอนนี้อยู่ในวัตถุ current_clip this.css.clip = "rect(" + new_top + " " + new_right + " " + new_bottom + " " + new_left + ")" } else { // มิฉะนั้น ให้ใช้คุณสมบัติคลิป this.css.clip.top = new_top this.css.clip.right = new_right this.css.clip.bottom = new_bottom this.css.clip.left = new_left } } function get_mouse_x( current_event) { // นี่คือ Internet Explorer 4 หรือใหม่กว่า? if (its_ie4plus) { // หากเป็นเช่นนั้น ให้ส่งคืนคุณสมบัติ event.clientX return event.clientX } // นี่คือ Netscape Explorer 4 หรือใหม่กว่า? else if (its_ns4plus) { // มิฉะนั้น ให้ส่งคืนคุณสมบัติ pageX return current_event.pageX } else { // มิฉะนั้น ให้คืนค่า null return null } } ฟังก์ชัน get_mouse_y(current_event) { // นี่คือ Internet Explorer 4 หรือใหม่กว่า? if (its_ie4plus) { // หากเป็นเช่นนั้น ให้ส่งคืนคุณสมบัติ event.clientY return event.clientY } // นี่คือ Netscape Explorer 4 หรือใหม่กว่า? else if (its_ns4plus) { // ถ้าเป็นเช่นนั้น ให้ส่งคืนคุณสมบัติ pageY return current_event.pageY } else { // มิฉะนั้น ให้คืนค่า null return null } } ฟังก์ชัน get_client_width() { // นี่คือ Internet Explorer 4 หรือใหม่กว่า? if (its_ie4plus) { // หากเป็นเช่นนั้น ให้ส่งคืนคุณสมบัติ clientWidth return document.body.clientWidth } else if (its_ns4plus) { // หากเป็นเช่นนั้น ให้ส่งคืนคุณสมบัติ innerWidth return window.innerWidth - 18 } else { // มิฉะนั้น ให้ส่งคืน null return null } } function get_client_height() { // นี่คือ Internet Explorer 4 หรือใหม่กว่า? if (its_ie4plus) { // หากเป็นเช่นนั้น ให้ส่งคืนคุณสมบัติ clientHeight return document.body.clientHeight } // นี่คือ Netscape Explorer 4 หรือใหม่กว่า? else if (its_ns4plus) { // ถ้าเป็นเช่นนั้น ให้คืนค่าคุณสมบัติ innerHeight return window.innerHeight - 18 } else { // มิฉะนั้น ให้คืนค่า null return null } } ฟังก์ชัน get_client_scroll_left() { // นี่คือ Internet Explorer 4 หรือใหม่กว่า? if (its_ie4plus) { // หากเป็นเช่นนั้น ให้ส่งคืนคุณสมบัติ scrollLeft return document.body.scrollLeft } // นี่คือ Netscape Explorer 4 หรือใหม่กว่า? else if (its_ns4plus) { // ถ้าเป็นเช่นนั้น ให้ส่งคืนคุณสมบัติ pageXOffset return pageXOffset } else { // มิฉะนั้น ให้คืนค่า null return null } } ฟังก์ชัน get_client_scroll_top() { // นี่คือ Internet Explorer 4 หรือใหม่กว่า? if (its_ie4plus) { // หากเป็นเช่นนั้น ให้ส่งคืนคุณสมบัติ scrollTop return document.body.scrollTop } // นี่คือ Netscape Explorer 4 หรือใหม่กว่า? else if (its_ns4plus) { // ถ้าเป็นเช่นนั้น ให้ส่งคืนคุณสมบัติ pageYOffset return pageYOffset } else { // มิฉะนั้น ให้คืนค่า null return null } } </script> <script language="JavaScript" type="text/javascript"> / / หนึ่งในตัวแปรบูลีนเหล่านี้จะถูก // ตั้งค่าเป็นจริงตามชื่อเบราว์เซอร์ var its_ie = false var its_ns = false var its_opera = false var its_webtv = false var its_เข้ากันได้กับ = false // หนึ่งในตัวแปรบูลีนเหล่านี้จะถูกตั้งค่าเป็น / / true ตามเวอร์ชันของ Internet Explorer var its_ie2 = false var its_ie3 = false var its_ie4 = false var its_ie5 = false var its_ie55 = false var its_ie6 = false var its_ie4plus = false var its_ie5plus = false var its_ie55plus = false var its_ie6plus = false // หนึ่งในตัวแปรบูลีนเหล่านี้จะถูกตั้งค่าเป็น // true ตามเวอร์ชันของ Netscape var its_ns2 = false var its_ns3 = false var its_ns4 = false var its_ns6 = false var its_ns3plus = false var its_ns4plus = false var its_ns6plus = false // หนึ่งในนั้น ตัวแปรบูลีนจะถูก // ตั้งค่าเป็นจริงตามระบบปฏิบัติการ var its_win31 = false var its_win95 = false var its_win98 = false var its_winme = false var its_winnt = false var its_win2000 = false var its_winxp = false var its_windows = false var its_win32 = false var its_mac68k = false var its_macppc = false var its_macos = false var its_linux = false var its_other_os = false // นี่จะเป็นจริงที่เบราว์เซอร์รองรับ DHTML บางประเภท var dhtml_ok = false // มาทำงานกับตัวอักษรตัวพิมพ์เล็กเพื่อให้สิ่งต่าง ๆ เรียบง่าย var user_agent = navigator.userAgent.toLowerCase() // BROWSER NAME // ใช้ indexOf() เพื่อตรวจสอบสตริง userAgent // สำหรับสัญญาณบอกเล่าของชื่อเบราว์เซอร์ if (user_agent.indexOf("opera") != -1) { its_opera = true } else if (user_agent.indexOf("webtv") != -1) { its_webtv = true } else if (user_agent.indexOf("msie") != -1) { its_ie = true } else if (user_agent. indexOf("mozilla") != -1) { // สำหรับ "moziila" เราจำเป็นต้องแยกแยะความเป็นไปได้อื่นๆ ออกไป อันดับแรกถ้า ((user_agent.indexOf("เข้ากันได้กับ") == -1) && (user_agent.indexOf ("spoofer") == -1) && (user_agent.indexOf("hotjava") == -1)) { its_ns = true } else { its_เข้ากันได้กับ = true } } // เวอร์ชันเบราว์เซอร์ var major_version = parseInt(navigator.appVersion ) var full_version = parseFloat(navigator.appVersion) var ie_start = user_agent.indexOf("msie") if (ie_start != -1) { var version_string = user_agent.substring(ie_start + 5) major_version = parseInt(version_string) full_version = parseFloat (version_string) } // INTERNET EXPLORER ถ้า (its_ie || its_webtv) { if (major_version < 3) { its_ie2 = true } else if (major_version == 3) { its_ie3 = true } else if (major_version == 4) { its_ie4 = true } else if (major_version == 5) { its_ie5 = true } else if (full_version == 5.5) { its_ie55 = true } else if (major_version == 6) { its_ie6 = true } if (major_version >= 4) { its_ie4plus = true } if (major_version >= 5) { its_ie5plus = true } if (full_version >= 5.5) { its_ie55plus = true } if (major_version >= 6) { its_ie6plus = true } } // NETSCAPE if (its_ns) { if (major_version < 3) { its_ns2 = true } else if ( major_version < 4) { its_ns3 = true } else if (major_version == 4) { its_ns4 = true } else if (major_version == 5) { its_ns6 = true } if (major_version >= 3) { its_ns3plus = true } if (major_version >= 4) { its_ns4plus = true } if (major_version >= 5) { its_ns6plus = true } } // ระบบปฏิบัติการ // ใช้ indexOf() เพื่อตรวจสอบสตริง userAgent // เพื่อดูสัญญาณปากโป้งของระบบปฏิบัติการ // WINDOWS 3.1 ถ้า ((user_agent.indexOf("windows 3.1") != -1) || (user_agent.indexOf("win16") != -1) || (user_agent.indexOf("16bit") != -1) || (user_agent.indexOf("16-bit") != -1)) { its_win31 = true } // WINDOWS 95 else if ((user_agent.indexOf("windows 95") != -1) || (user_agent.indexOf ("win95") != -1)) { its_win95 = true } // WINDOWS ME if (user_agent.indexOf("win 9x 4.90") != -1) { its_winme = true } // WINDOWS 98 else if (( user_agent.indexOf("windows 98") != -1) ||. (user_agent.indexOf("win98") != -1)) { its_win98 = true } // WINDOWS XP อย่างอื่นถ้า ((user_agent.indexOf("windows) nt 5.1") != -1) || (user_agent.indexOf("winnt 5.1") != -1)) { its_winxp = true } // WINDOWS 2000 else if ((user_agent.indexOf("windows nt 5.0") != -1) ||. (user_agent.indexOf("winnt 5.0") != -1)) { its_win2000 = true } // WINDOWS NT อย่างอื่นถ้า ((user_agent.indexOf("windows nt") != -1) ||. (user_agent.indexOf("winnt") != -1)) { its_winnt = true } // MAC 680x0 อย่างอื่นถ้า ((user_agent.indexOf("mac") != -1) && ((user_agent.indexOf( "68K") != -1) ||. (user_agent.indexOf("68000") != -1))) { its_mac68k = true } // MAC PowerPC อย่างอื่นถ้า ((user_agent.indexOf("mac") != -1) && ((user_agent.indexOf("ppc") != -1) || (user_agent.indexOf("powerpc") != -1))) { its_macppc = true } // LINUX else if (user_agent.indexOf("linux") != -1) { its_linux = true } // ระบบปฏิบัติการอื่น ๆ { its_other_os = true } // PLATFORM // ใช้บูลีนระบบปฏิบัติการเพื่อ // กำหนดแพลตฟอร์มทั่วไป // MAC OS if (its_mac68k || its_macppc) { its_macos = true} // 32-BIT WINDOWS if (its_win95 || its_win98 ||. its_winme ||. its_winnt ||. its_win2000 ||. its_winxp) {its_win32 = true} // WINDOWS if (its_win31 || its_win32) {its_windows = true} // DHTML SUPPORT if (document.getElementById || document.all || .layers) { dhtml_ok = true } </script> <script language="JavaScript" type="text/javascript"> <!-- var slides = new Array() var slide_width = 525 var slide_height = 296 slides[0] = new Image(slide_width, slide_height) slides[0].src = "/u/info_img/2009-06/20/fiesole1.jpg" slides[0].caption = "โรงละครโรมันขนาด 3,000 ที่นั่งจากประมาณ 100 ปีก่อนคริสตกาล ( ไฟย์โซล, อิตาลี)" slides[1] = new Image(slide_width, slide_height) slides[1].src = "/u/info_img/2009-06/20/fiesole2.jpg" slides[1].caption = "ซากปรักหักพังของอีทรัสคัน จากประมาณ 600 ปีก่อนคริสตกาล (ไฟย์โซล ประเทศอิตาลี)" slides[2] = new Image(slide_width, slide_height) slides[2].src = "/u/info_img/2009-06/20/florence04.jpg" slides[2] Caption = "The Piazza Della Signoria (ฟลอเรนซ์, อิตาลี)" สไลด์[3] = รูปภาพใหม่ (slide_width, slide_height) สไลด์[3].src = "/u/info_img/2009-06/20/florence06.jpg" สไลด์[ 3].caption = "สวน Boboli (ฟลอเรนซ์ อิตาลี)" // ใช้ตัวแปรเหล่านี้เพื่อกำหนดค่าตัวแสดง var scroll_amount = 10 var scroll_delay = 50 var timeout_id var current_slide = 0 var pending_slide = 1 var scrolling var transitions = new Array( "สไลด์", "เช็ด") var h_directions = new Array("left", "right", "both", "none") var v_directions = new Array("down", "up", "both", "none") ") var viewer_data = new viewer_data_object() // ฟังก์ชั่นนี้สร้างฟังก์ชั่นอ็อบเจ็กต์วิวเวอร์ viewer_data_object(ความกว้าง, ความสูง, บน, ซ้าย, จำนวนเลื่อน) {} ฟังก์ชั่นเริ่มต้น () { // หากนี่คือเบราว์เซอร์ที่ไม่ใช่ DHTML ให้ประกันตัวออก if (!dhtml_ok) { return } // สร้างวัตถุ DHTML create_object_array() // ตั้งค่าวัตถุตัวแสดง viewer_data.width = dhtml_objects['viewer1'].width() viewer_data.height = dhtml_objects['viewer1'].height () viewer_data.top = dhtml_objects['viewer1'].top() viewer_data.left = dhtml_objects['viewer1'].left() viewer_data.scrolllamount = scroll_amount viewer_data.scrolldelay = scroll_delay viewer_data.scroll_start = slide_width viewer_data.transition = การเปลี่ยนภาพ [0] viewer_data.h_direction = h_directions[0] viewer_data.v_direction = v_directions[0] write_controls() } // ฟังก์ชั่นนี้จะตั้งค่าตำแหน่งเริ่มต้นของผู้ชมและฟังก์ชันขอบเขตของคลิป Initialize_viewer() { // ซ่อน viewer2 dhtml_objects['viewer2'] .set_visibility("hidden") // ใส่รูปภาพหลัก dhtml_objects['viewer1'].set_html('<img src="' + slides[current_slide].src + '">') // รีเซ็ตเพื่อดูแบบเต็ม dhtml_objects['viewer1'].move_to(viewer_data.left, viewer_data.top) dhtml_objects['viewer1'].resize_clip_to(0, viewer_data.width, viewer_data.height, 0) // เลือกการเปลี่ยนแปลงแบบสุ่ม viewer_data.transition = transitions[ Math.floor(transitions.length * Math.random())] viewer_data.h_direction = h_directions[Math.floor(h_directions.length * Math.random())] viewer_data.v_direction = v_directions[Math.floor(v_directions.length * Math.random())] // ตั้งค่าสถานะการเลื่อน scrolling = true // อัปเดตการควบคุม write_controls() if (viewer_data.transition == "slide") { slide_out() } else { wipe_out() } } ฟังก์ชั่น next_slide( ) { // เปลี่ยนหมายเลขสไลด์ที่รอดำเนินการ pending_slide = current_slide + 1 Initialize_viewer() } ฟังก์ชั่น Previous_slide() { // เปลี่ยนหมายเลขสไลด์ที่รอดำเนินการ pending_slide = current_slide - 1 Initialize_viewer() } ฟังก์ชั่น slide_out() { // ตรวจสอบความกว้างและ ความสูงของขอบเขตคลิปของวัตถุถ้า (dhtml_objects['viewer1'].get_clip_width() > 0 && dhtml_objects['viewer1'].get_clip_height() > 0) { // หากทั้งคู่ยังคงเป็นค่าบวก ให้เลื่อนต่อไป varhorizontal_move = 0 var แนวตั้ง_move = 0 var top_resize = 0 var right_resize = 0 var bottom_resize = 0 var left_resize = 0 // รับการปรับแนวนอนถ้า (viewer_data.h_direction == "left") {horizontal_move = -viewer_data.scrollamount left_resize = viewer_data.scrollamount } อื่น ๆ ถ้า (viewer_data.h_direction == "right") { แนวนอน_move = viewer_data.scrollamount right_resize = -viewer_data.scrollamount } อื่น ๆ ถ้า (viewer_data.h_direction == "ทั้งสอง") { left_resize = viewer_data.scrollamount right_resize = -viewer_data.scrollamount } / / รับการปรับแนวตั้ง if (viewer_data.v_direction == "down") { แนวตั้ง_move = viewer_data.scrollamount bottom_resize = -viewer_data.scrollamount } else if (viewer_data.v_direction == "up") { Vertical_move = -viewer_data.scrollamount top_resize = viewer_data.scrollamount } อื่น ๆ ถ้า (viewer_data.v_direction == "ทั้งสอง") { Bottom_resize = -viewer_data.scrollamount top_resize = viewer_data.scrollamount } // ย้ายวัตถุ dhtml_objects['viewer1'].move_by(horizontal_move, Vertical_move) // ปรับ ขอบเขตคลิป dhtml_objects['viewer1'].resize_clip_by(top_resize, right_resize, bottom_resize, left_resize) // ตั้งค่าการหมดเวลาใหม่ timeout_id = setTimeout("slide_out()", viewer_data.scrolldelay) write_controls() } else { // ล้าง timeout clearTimeout(timeout_id) // สไลด์ที่รอดำเนินการอยู่ในขณะนี้คือสไลด์ปัจจุบัน current_slide = pending_slide // เตรียมสไลด์ขาเข้า wait_next_slide() } } ฟังก์ชั่น wipe_out() { // ตรวจสอบความกว้างและความสูงของขอบเขตคลิปของวัตถุถ้า (dhtml_objects[ 'viewer1'].get_clip_width() > 0 && dhtml_objects['viewer1'].get_clip_height() > 0) { // หากทั้งคู่ยังเป็นบวกอยู่ ให้เช็ด var top_resize = 0 var right_resize = 0 var bottom_resize = 0 var left_resize = 0 // รับการปรับแนวนอน if (viewer_data.h_direction == "left") { right_resize = -viewer_data.scrollamount } else if (viewer_data.h_direction == "right") { left_resize = viewer_data.scrollamount } else if (viewer_data. h_direction == "both") { left_resize = viewer_data.scrollamount right_resize = -viewer_data.scrollamount } // รับการปรับแนวตั้งถ้า (viewer_data.v_direction == "down") { top_resize = viewer_data.scrollamount } else if (viewer_data.v_direction == "up") { bottom_resize = -viewer_data.scrollamount } else if (viewer_data.v_direction == "both") { bottom_resize = -viewer_data.scrollamount top_resize = viewer_data.scrollamount } // ปรับขอบเขตคลิป dhtml_objects['viewer1' ].resize_clip_by(top_resize, right_resize, bottom_resize, left_resize) // ตั้งค่าการหมดเวลาใหม่ timeout_id = setTimeout("wipe_out()", viewer_data.scrolldelay) } else { // ล้างการหมดเวลา clearTimeout(timeout_id) // สไลด์ที่รอดำเนินการคือ ตอนนี้สไลด์ปัจจุบัน current_slide = pending_slide // เตรียมสไลด์ขาเข้า allowance_next_slide() } } ฟังก์ชั่น stop_it() { // ปิดตัวแสดงโดยการล้างการหมดเวลาปัจจุบัน clearTimeout(timeout_id) // ล้างค่าสถานะการเลื่อน การเลื่อน = false // อัปเดต การควบคุม write_controls() } ฟังก์ชั่น wait_next_slide() { // เลือกการสุ่มล้างการเปลี่ยนแปลง viewer_data.transition = "wipe" viewer_data.h_direction = h_directions[Math.floor(h_directions.length * Math.random())] viewer_data.v_direction = v_directions[Math.floor(v_directions.length * Math.random())] var top_clip_start = 0 var right_clip_start = viewer_data.width var bottom_clip_start = viewer_data.height var left_clip_start = 0 // รับการปรับแนวนอนถ้า (viewer_data.h_direction == "ซ้าย") { left_clip_start = viewer_data.width } else if (viewer_data.h_direction == "right") { right_clip_start = 0 } else if (viewer_data.h_direction == "both") { left_clip_start = Math.floor(viewer_data.width / 2) right_clip_start = Math.floor(viewer_data.width / 2) } // รับการปรับแนวตั้ง if (viewer_data.v_direction == "down") { bottom_clip_start = 0 } else if (viewer_data.v_direction == "up") { top_clip_start = viewer_data.height } else if (viewer_data.v_direction == "both") { bottom_clip_start = Math.floor(viewer_data.height / 2) top_clip_start = Math.floor(viewer_data.height / 2) } // เพิ่มรูปภาพ dhtml_objects['viewer2'].set_html('<img src="' + slides[current_slide].src + '">') // ทำให้วัตถุมองเห็นได้ dhtml_objects['viewer2'].set_visibility("visible") // ปรับขนาด dhtml_objects['viewer2'].resize_clip_to(top_clip_start, right_clip_start, bottom_clip_start, left_clip_start) // ทำการลบการเปลี่ยนแปลง wipe_in() } ฟังก์ชัน wipe_in() { // เปรียบเทียบความกว้างและความสูงของคลิปกับความกว้างและความสูงของวัตถุ ถ้า ( dhtml_objects['viewer2'].get_clip_width() < viewer_data.width || dhtml_objects['viewer2'].get_clip_height() < viewer_data.height) { // ถ้าอันใดอันหนึ่งน้อยกว่า ให้เช็ด var top_resize = 0 var right_resize = 0 var bottom_resize = 0 var left_resize = 0 // รับการปรับแนวนอนถ้า ( viewer_data.h_direction == "left") { left_resize = -viewer_data.scrollamount } else if (viewer_data.h_direction == "right") { right_resize = viewer_data.scrollamount } else if (viewer_data.h_direction == "ทั้งสอง") { left_resize = -viewer_data.scrollamount right_resize = viewer_data.scrollamount } // รับการปรับแนวตั้ง if (viewer_data.v_direction == "down") { Bottom_resize = viewer_data.scrollamount } else if (viewer_data.v_direction == "up") { top_resize = -viewer_data.scrollamount } else if (viewer_data.v_direction == "both") { bottom_resize = viewer_data.scrollamount top_resize = -viewer_data.scrollamount } // ปรับขอบเขตของคลิป dhtml_objects['viewer2'].resize_clip_by(top_resize, right_resize, bottom_resize , left_resize) // ตั้งค่าการหมดเวลาใหม่ timeout_id = setTimeout("wipe_in()", viewer_data.scrolldelay) } else { stop_it() } } ฟังก์ชัน write_controls() { // เขียนหมายเลขสไลด์ถ้า (เลื่อน) { slide_text = " กำลังโหลดสไลด์ถัดไป...<p>" } else { slide_text = "Slide #" + eval(current_slide + 1) + "—" + สไลด์[current_slide].caption + "<p>" } if (current_slide == 0 || การเลื่อน) { Previous_control = "ก่อนหน้า" } else { Previous_control = '<a href="javascript:previous_slide()">ก่อนหน้า< /a>' } if (current_slide == slides.length - 1 || scrolling) { next_control = "Next" } else { next_control = '<a href="javascript:next_slide()">ถัดไป</a>' } dhtml_objects["controls"].set_html(slide_text + Previous_control + " " + next_control) } //--> </script> </head> <body onLoad="initialize()"> <!--IE จำเป็น ที่จะมีตำแหน่งภายในแท็ก --> <div id="viewer1" style="position:absolute; left:10; top:0"> <img src="/u/info_img/2009-06/20/fiesole1 .jpg"> </div> <div id="viewer2" style="position:absolute; left:10; top:0"></div> <div id="controls" style="position:absolute; :10; top:325; width: 525; text-align: center; font-weight:bold"></div> </div> </body> </html>