5 ใส่ Replace Statementคุณอาจจะงงว่าอะไรคือ Replace Statement
มันก็คือโค้ดที่จะทำให้เราสามารถใช้ sIFR ได้นั่นเอง
ก่อนอื่นเริ่มที่หน้าตามันก่อน
หน้าตาของมันก็จะเป็นประมาณนี้
if(typeof sIFR == "function"){
sIFR.replaceElement("h1", named({sFlashSrc: "./rehoneyfly.swf", sColor: "#000", sCase: "upper"}));
};
นี่คือตัวอย่างเฉยๆ
ส่วนการเขียนนั้น เป็นประมาณนี้
if(typeof sIFR == "function"){
sIFR.replaceElement("Element ที่จะแก้ฟอนต์", named({ชื่ออาร์กิวเมนต์1: "ค่าอาร์กิวเมนต์ที่ต้องการ1", ชื่ออาร์กิวเมนต์2: "ค่าอาร์กิวเมนต์ที่ต้องการ2"}));
};
เริ่มที่
Element ที่จะแก้ฟอนต์ ก่อน
ตรงนี้จะอ้างอิงจาก CSS
นั่นคือเป็นการอ้างถึง Element ในแบบเดียวกับที่ CSS ทำ
เช่น
ถ้าต้องการแก้ฟอนต์ของ h1
ก็เขียนลงไปว่า "h1"
ถ้าต้องการแก้ฟอนต์ของ h1.myclass
ก็เขียนลงไปว่า "h1.myclass"
เป็นต้น
ส่วนอาร์กิวเมนต์นั้น
อาร์กิวเมนต์เป็นตัวคอยกำหนดคุณลักษณะต่างๆ ของตัวหนังสือที่ใช้ sIFR ของเรา
ซึ่งมีอยู่หลายตัวด้วยกัน ดังต่อไปนี้
1. sFlashSrc คือ ตำแหน่งที่อยู่ของไฟล์แฟลชที่เราได้จาก
ขั้นตอนที่ 22. sColor คือ สีตัวอักษร (ในรูปแบบ #000000)
3. sLinkColor คือ สีตัวอักษรของลิงก์ (ในรูปแบบ #000000)
4. sHoverColor คือ สีตัวอักษรของลิงก์ตอนเอาเคอร์เซอร์ไปวางทับ (ในรูปแบบ #000000)
5. sBgColor คือ สีพื้นหลัง (พิมพ์มาตั้งสามอันแล้ว อันนี้เดาเอาเองแล้วกัน
)
6. nPaddingTop, nPaddingRight, nPaddingBottom, nPaddingLeft กำหนดค่า Padding เป็น px (แต่ไม่ต้องพิมพ์หน่วยลงไปด้วย)
7. sFlashVars ค่าอื่นๆ เพิ่มเติม
สามารถใช้อะไรต่อไปนี้ได้ (แต่ละอันจะคั่นด้วย &)
7.1 textalign=center จัดให้อยู่กลาง
7.2 offsetLeft=5 ผลักข้อความไปทางขวา 5 px -- แน่นอนว่าคุณสามารถเปลี่ยนตัวเลขได้
7.3 offsetRight=5 เดาเอาเอง
7.4 underline=true เพิ่มขีดเส้นใต้ตอนลิงก์โดนเมาส์ทับ
8. sCase กำหนดว่าจะเปลี่ยนเป็นตัวพิมพ์เล็ก/ใหญ่ ใช้ค่า upper สำหรับการเปลี่ยนเป็นตัวพิมพ์ใหญ่ทั้งหมด และ lower สำหรับการเปลี่ยนเป็นตัวพิมพ์เล็กทั้งหมด
9. sWmode ใช้ค่า transparent ถ้าต้องการให้พื้นหลังโปร่ง และ opaque ถ้าต้องการให้พื้นหลังทึบ แต่เค้าไม่แน่นำให้ใช้ เพราะบางเบราว์เซอร์จะมีปัญหากับการ Render แฟลชที่พื้นหลังโปร่ง
มาดูตัวอย่างที่แตกต่างกันอีกทีหนึ่ง
if(typeof sIFR == "function"){
sIFR.replaceElement("div#titling", named({sFlashSrc: "rehoneyfly.swf", sColor: "#333333", sLinkColor: "#444444", sHoverColor: "#555555"}));
};
เมื่อรู้ Pattern เราก็เขียนออกมาเรื่อยๆ
เราก็จะได้ Replace Statement มาในที่สุด
(อย่างน้อยผมก็หวังว่าจะเป็นอย่างนั้น
)
คำถามต่อมาคือ
เมื่อได้ไอ้ Replace Statement ออกมาแล้ว
จะเอามันไปไว้ไหนมีสองตัวเลือกให้คุณเลือก
วิธีแรก ใส่ไว้ในไฟล์ sifr.js
และ
วิธีที่สอง ใส่ไว้ใน body
วิธีนี้ต้องชี้แจงกันหน่อย
คุณสามารถจะใส่ไว้ที่ไหนก็ได้ระหว่าง <body> และ </body>
เช่น
<body>
...
<script type="text/javascript">
if(typeof sIFR == "function"){
sIFR.replaceElement("div#titling", named({sFlashSrc: "rehoneyfly.swf", sColor: "#333333", sLinkColor: "#444444", sHoverColor: "#555555"}));
};
</script>
...
</body>
ส่วนจะำไว้ตรงไหนระหว่างสองที่นี้นั้น
... พิจารณาเอาเองครับ