11
2010
jQuery Plugin Timeago!!
วันนี้นั่งทำงานเกี่ยวกับ Twitter อยู่มีโจทย์อยู่ว่าให้ดึงเอาข้อความใน Twitter มาโชว์และต้องใส่ไปด้วยว่าข้อความนั้น post ผ่านมากี่วันกี่นาทีแล้ว เลยนึกขึ้นได้ว่า เออ Plugin ของ jQuery ก็มีนี่นาเอามาใช้ประโยชน์ดีกว่า เพราะแต่ก่อนนั้นใช้ PHP ในการคำนวนหา ซึ่งจะเป็นการไปเพิ่มโหลดให้กับ Server ซะเปล่าๆ
ในเมื่อเราทำฝั่ง Client ได้ก็ให้ฝั่ง Client ประมวลผลดีกว่าใหม!! บางคนอาจจะนึกไม่ออกครับ ว่ามันคืออะไร ให้ลองเข้า Facebook หรือ Twitter ดูครับ มันจะมีข้อความประมาณว่า [14 minutes ago ] อะไรประมาณนี้ คือเป็นการบอกว่า Content ที่เรา Post หรือคนอื่น Post ไปนั้น ณ. เวลาปัจจุบัน ผ่านไปนานเท่าไรแล้ว เอาละกดเข้ามาอ่านกันได้เลยครับ..

่jQuery Plugin ตัวนี้ผมก็ได้มาจากการค้นใน Google อีกเช่นเคยครับ
ก่อนอื่นเลยก็ไปโหลด Plugin timeago มาก่อนเลยครับ โหลดได้ที่ Link ด้านล่างนี้
หลังจากที่โหลดมาแล้วก็อย่างลืมเรื่องของการจัดลำดับการวาง Script นะครับต้องเอา core jQuery ขึ้นก่อนเน้อ
1 2 3 4 5 6 | .... <head> <script src="jquery-latest.min.js"></script> <script src="jquery.timeago.js"></script> </head> .... |
เอาละหลังจาก include javascript มาแล้วก็พร้อมจะใช้งานแล้ว มาลองกันเลย
ผมจะสมมุติว่าเราได้ดึงเอาข้อมูลจาก Database ขึ้นมาแล้วโชว์ในรูปแบบ HMTL ประมาณนี้นะครับ ระบบเวลาตามตัวอย่างนี้เป็นระบบ ISO 8601 นะครับ หรือใช้เป็น timestamps ก็ได้ครับ
1 2 3 4 5 6 7 | <abbr class="timeago" title="2008-07-17">2008-07-17</abbr> <script> jQuery(document).ready(function() { jQuery("abbr.timeago").timeago(); }); </script> |
จาก code ด้านบนนี้นะครับ ให้สังเกตุที่ title ตรงนี้นะครับที่ตัว Plugin จะเอาไปทำการแปลงหรือคำนวน ให้เป็น Timeago หลังจากแปลงหรือคำนวนแล้ว จะเอาไปใส่แทนที่ Text ใน Tag abbr ครับ ผลก็จะได้ตามด้านล่างนี้ครับ
1 | <abbr class="timeago" title="2008-07-17">2 years ago</abbr> |
จะเห็นได้ว่า ตัว Text นั้นจะเปลี่ยนเป็น “2 years ago” ครับ ตัวอย่างอื่นๆตามด้านล่างนี้ น่าจะเข้าใจและเห็นภาพง่ายที่สุดครับ
1 2 3 | jQuery.timeago(new Date()); //=> "less than a minute ago" jQuery.timeago("2008-07-17"); //=> "2 years ago" jQuery.timeago(jQuery("abbr#some_id")); //=> "2 years ago" // [title="2008-07-20"] |
จริงๆแล้ว Plugin ตัวนี้เราสามารถที่จะ Config ค่าต่างๆได้เยอะกว่านี้นะครับ Link อื่นๆที่เกี่ยวข้องสามารถตามไปที่ Link ด้านล่างนี้ได้เลยครับ
- ที่มา: http://timeago.yarp.com
- Config: http://gist.github.com/6251
- Download the stable: http://timeago.yarp.com/jquery.timeago.js
- Timeago was built by Ryan McGeary: http://twitter.com/rmm5t
Related Posts
Tags
Facebook Development
Google+ Page
Categories
- HTML5 & CSS3 (8)
- jQuery 1.4 (9)
- jQuery 1.5 (6)
- .data (1)
- jQuery 1.6 (3)
- .data (1)
- jQuery 1.7 (4)
- Events (1)
- jQuery Mobile (3)
- jQuery UI (3)
- Mobile (1)
- News (8)
- Others (28)
- Plugin (15)
- The basics of jQuery (9)
- Tips (13)
- คู่มือการใช้งาน jQuery ฉบับ ภาษา ไทย (30)
- Ajax (4)
- Attributes (1)
- Core (1)
- Deferred (3)
- Effects (7)
- Events (3)
- Manipulation (2)
- Selectors (5)
- Traversing (2)
- Utilities (2)

An article by







