เมื่อก่อนตอนทำเว็บใหม่ๆ แท็กที่มักจะเป็นที่นิยมใช้กันบ่อยๆ คือ <marquee> ไว้ทำตัวหนังสือวิ่ง ถึงแม้ว่ามันจะวิ่งเหมือนคนเป็นโรคโปลิโอ คือ วิ่งกระตุก งึกๆงักๆ แต่ก็ยังดีกว่าไม่มีอะไรเคลื่อนไหวบนหน้าจอเอาเสียเลย
เดี๋ยวนี้ไม่ค่อยเห็นมีคนใช้ และพูดถึงกันน้อยมาก อาจจะเนื่องจากมีแอนิเมชั่นในรูปแบบอื่นๆ ให้เล่นเยอะแยะมากมาย <marquee> เลยถูกลืมจากสารบบ
ผมเจอปลั๊กอินของ jQuery ที่ทำงานคล้ายๆ <marquee> แต่เหนือชั้นกว่า ทั้งในด้านความลื่น และรูปแบบในการแสดงผล ก็เลยเอามาแนะนำกัน
ผมว่ามันน่าใช้ดีนะ
วิธีการเขียนโค้ด
1. include สิ่งที่จำเป็นเข้ามา ทั้ง jquery และ css
<!---// load jQuery from the GoogleAPIs CDN //---> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> <script type="text/javascript" src="jquery.marquee.js"></script> <link type="text/css" href="css/jquery.marquee.css" rel="stylesheet" media="all" /> |
2. โครงสร้าง html ปลั๊กอินตัวนี้จะแปลง ul ให้เป็นรายการเลื่อนอัตโนมัติ
<ul id="marquee" class="marquee"> <li>New #1</li> <li>New #2</li> <li>New #3</li> </ul> |
3. jquery
<script type="text/javascript"> $(document).ready(function (){ $("#marquee").marquee({yScroll: "bottom"}); }); </script> |
เพียงเท่านี้ท่านก็จะได้ ตัวอักษรวิ่งฟิ้วๆ
ทีนี้มาดูออปชั่นที่ท่านสามารถกำหนดได้ทั้งหมดกัน
{ yScroll: "top" //ตำแหน่งเริ่มต้นที่จะให้เลื่อน เลื่อนจากล่างขึ้นบนหรือบนลงล่าง ("top" or "bottom") , showSpeed: 850 //ความเร็วในการแสดงแอนิเมชั่นตอนแสดงข้อความ , scrollSpeed: 12 //ความเร็วในการเคลื่อนที่ข้อความ ตั้งให้ต่ำไว้ , pauseSpeed: 5000 //หน่วงเวลาก่อนจะแสดงข้อความถัดไป , pauseOnHover: true //ให้หยุดเมื่อเอาเมาส์ไปชี้หรือไม่ (true/false) , loop: -1 //จำนวนรอบในการแสดงข้อความ (ถ้าน้อยกว่า 0 คือไม่จำกัด ให้แสดงวนไปเรื่อยๆ) , fxEasingShow: "swing" //แอนิเมชั่นที่ใช้ลบข้อความเก่า ตอนเปลี่ยนข้อความ , fxEasingScroll: "linear" //แอนิเมชั่นที่ใช้ตอนแสดงข้อความใหม่ // define the class statements , cssShowing: "marquee-showing" //อันนี้ยังไม่ได้ทดลอง // event handlers , init: null // callback function ที่จะให้ทำงานเมื่อปลั๊กอินเริ่มทำงาน , beforeshow: null // callback function ที่จะให้ทำงานก่อนแสดงข้อความ , show: null // callback function ที่จะให้ทำงานหลังจากข้อความแสดงขึ้นมา , aftershow: null // callback function ที่จะให้ทำงานหลังจากข้อความเลื่อนเสร็จ } |
ใช้เท่าที่จำเป็นจะต้องใช้นะครับ ไม่ใช่จะต้องกำหนดทั้งหมด
<script type="text/javascript"> $(document).ready(function (){ $("#marquee").marquee({ yScroll: "bottom", scrollSpeed: 10, pauseSpeed: 2000 }); }); </script> |
ข้อมูลเพิ่มเติม : Giva Labs – Marquee jQuery Plugin
jirasak says:
29/09/2552 at 29/09/2552
อยากทำเว็บให้เก่ง ๆ เหมือนพี่จัง วันนี้คงไม่ต้องได้แต่นั่งงงคับ