เมื่อก่อนตอนทำเว็บใหม่ๆ แท็กที่มักจะเป็นที่นิยมใช้กันบ่อยๆ คือ <marquee> ไว้ทำตัวหนังสือวิ่ง ถึงแม้ว่ามันจะวิ่งเหมือนคนเป็นโรคโปลิโอ คือ วิ่งกระตุก งึกๆงักๆ แต่ก็ยังดีกว่าไม่มีอะไรเคลื่อนไหวบนหน้าจอเอาเสียเลย

เดี๋ยวนี้ไม่ค่อยเห็นมีคนใช้ และพูดถึงกันน้อยมาก อาจจะเนื่องจากมีแอนิเมชั่นในรูปแบบอื่นๆ ให้เล่นเยอะแยะมากมาย <marquee> เลยถูกลืมจากสารบบ

ผมเจอปลั๊กอินของ jQuery ที่ทำงานคล้ายๆ <marquee> แต่เหนือชั้นกว่า ทั้งในด้านความลื่น และรูปแบบในการแสดงผล ก็เลยเอามาแนะนำกัน

ผมว่ามันน่าใช้ดีนะ

Live Demo | Download

วิธีการเขียนโค้ด

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