ผมได้เคยแนะนำ jquery plugin ตัวนี้ไปทีนึงแล้ว jquery-tooltips มาคราวนี้ผมจะแสดงวิธีการนำ jTip ไปใช้งาน
jTip นี้จะใช้คุณสมบัติ AJAX ในการไปดึงข้อความจากอีกไฟล์หนึ่ง มาแสดงเป็นทูลทิป เพราะฉะนั้น เนื้อหาของทูลทิปก็จะเขียนแยกออกเป็นไฟล์ ซึ่งในแง่การใช้งานแล้ว ผมว่าวิธีนี้ดีมากๆ เพราะเมื่อเราจะแก้เนื้อหาของทูลทิปใดๆ เราก็เปิดไฟล์ html นั้นขึ้นมาแก้เท่านั้นเอง โดยไม่ต้องเข้าไปยุ่งเกี่ยวกับโค้ด ที่เคยเขียนไว้เลย
การใช้ทูลทิปเพื่อเป็นตัวช่วยเหลือ ในการป้อนข้อมูลในฟอร์ม หรือในงานอื่นๆ ผมว่าเป็นประโยชน์อย่างยิ่ง ช่วยป้องกันการป้อนข้อมูลที่ไม่ถูกต้อง หรือเป็นแนวในการป้อนข้อมูล ต้องอย่าลืมว่าเมื่อเราทำเว็บขึ้นมาสักตัว แล้วถ้ายิ่งเว็บนั้นมีฟอร์มให้ป้อนข้อมูลด้วยแล้ว ยูสเซ่อร์จะมึนมาก แค่ป้อนเบอร์โทรศัพท์นี่ ยังมีรูปแบบในการตั้งหลายรูปแบบ 022230016 , 02-223-0016, 02 223 0016 ดูดู๊ดู ดูเธอทำ นำทางเขาซะเขาจะได้ไปถูกทางตามที่เราหวัง (พูดเหมือนเลี้ยงลูกเลยเนอะ)
เริ่มเลยละกัน
ก่อนอื่นให้ท่านไปดาวน์โหลดไฟล์ jTip มาก่อน Download
เมื่อท่านแตกซิปออก ท่านน่าจะได้เจออะไรประมาณนี้
- โฟลเดอร์ js เก็บไฟล์ jquery และ jtip
- โฟลเดอร์ images เก็บภาพที่ jtip ต้องใช้
- โฟลเดอร์ css เก็บไฟล์ css ที่ jtip ต้องใช้
- ส่วนไฟล์ที่อยู่ระเกะระกะด้านนอกทั้งหมดนั้น เป็นไฟล์ตัวอย่าง ลองดับเบิลคลิก index.htm ดูสิ
เขียนโค้ดกัน ก่อนอื่นก็ต้อง include ไฟล์ที่จำเป็นเข้ามาก่อน
<script type="text/javascript" src="jquery-tooltip/js/jquery.js"></script> <script type="text/javascript" src="jquery-tooltip/js/jtip.js"></script> <link rel="stylesheet" href="jquery-tooltip/css/global.css" /> |
ตรงไหนที่เราต้องการให้เมื่อเอาเมาส์ไปชี้แล้วแสดง tooltip ให้เอาแท็ก a ที่ชี้ไปยังไฟล์เนื้อหาทูลทิป ระบุคลาสเป็น class=”jTip” และสิ่งที่ห้ามลืมโดยเด็ดขาดคือ id ค่าท่านจะใส่เป็นอะไรก็ได้ ถ้าท่านใช้ tooltip หลายตัวในหนึ่งหน้า id ของแต่ละตัวต้องต่างกัน อาจจะระบุเป็น one,two,three … ก็ได้
<a href="jquery-tooltip/yahoo.htm" class="jTip" id="one">?</a> |
โค้ดทั้งหมดจะเป็นดังนี้
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>jTip</title> <script type="text/javascript" src="jquery-tooltip/js/jquery.js"></script> <script type="text/javascript" src="jquery-tooltip/js/jtip.js"></script> <link rel="stylesheet" href="jquery-tooltip/css/global.css" /> </head> <body> <a href="jquery-tooltip/yahoo.htm" class="jTip" id="one">?</a> </body> </html> |
ถ้าต้องการให้ทูลทิปแสดง title ด้วยให้ใส่ name ให้ลิ้งก์
<a href="jquery-tooltip/yahoo.htm" class="jTip" id="one" name="Window caption or title">?</a> |
ถ้าคุณต้องการกำหนดความกว้างของทูลทิปเองตามใจชอบ ให้ส่งพารามิเตอร์ width เข้าไป
<a href="jquery-tooltip/yahoo.htm?width=375" class="jTip" id="one" name="Window caption or title">?</a> |
SG says:
12/07/2552 at 12/07/2552
ขอบคุณคะ ลองไปใช้แล้ว
เวลาเอาเม้าส์ไปชี้ เอา? ออกได้ไหมคะอยากให้เป็นรูปพอยเตอร์ชี้อย่างเดียว
ทำยังไงคะ
administrator says:
13/07/2552 at 13/07/2552
แก้ไขในไฟล์ css ของ jTip ครับ
SG says:
18/08/2552 at 18/08/2552
พี่คะสงสัยอีกอย่างคือว่า ถ้าเราชี้แล้วเรากำหนด ตำแหน่งกรอบภาพที่ขึ้นมาได้ไหม เพราะบางรูปเนื้อหาเยอะมันยาวแล้วสุดหน้ามองไม่เห็นนะคะ
administrator says:
18/08/2552 at 18/08/2552
มันยาวยังไง ลองเอาภาพมาดูสิครับ ผมจินตนาการภาพไม่ออก
SG says:
19/08/2552 at 19/08/2552
ขอบล่างคือสุดหน้าจอ พอจะเลื่อนเม้าส์ลงไปเพื่ออ่านรายละเอียดให้ชัด
มันก็เด้งขึ้นมาที่เดิม
รูปคะ
http://upic.me/i/s1/snap0035.jpg
http://upic.me/i/4t/snap0037.jpg
จริงๆมีรูปเม้าชี้นะคะ แต่แคปเตอร์มันตัดเม้าออก
administrator says:
19/08/2552 at 19/08/2552
อ๋อ คุณเอาไปใช้แสดงรายละเอียดสินค้านี่เอง ผมว่าคุณลองใช้ปลั๊กอินตัวอื่นน่าจะเวิร์คกว่า
http://www.select2web.com/jquery/jquery-pretty-photo.html
http://www.select2web.com/jquery/jquery-lightbox-plugin.html
http://www.select2web.com/jquery/jquery-fancy-zoom.html
อย่างไรก็ตามปัญหาที่ถามมา ผมจะไปจำลองเหตุการณ์ดูก่อนครับ ว่ามันเกิดจากอะไร และจะแก้มันยังไง นะครับ
SG says:
21/08/2552 at 21/08/2552
คะจะลองเปลี่ยนดูนะคะ
ที่พี่ให้มามันสามารถใส่รายละเอียดลงได้ใช่ไหมคะ
administrator says:
21/08/2552 at 21/08/2552
ใส่ได้ครับผม
sitti says:
27/08/2552 at 27/08/2552
ขอบคุณครับ
jQuery สุดยอดมากกว่า
toot says:
01/02/2553 at 01/02/2553
ทำไมใน tooltip ที่แสดงออกไม่สามารถแสดงภาษาไทยได้ครับ
mrsitti says:
01/02/2553 at 01/02/2553
ปัญหาภาษาไทยง๊องแง๊งหงิกๆ งอๆ ผมมักแก้ด้วย
– เปิดไฟล์ที่มีปัญหาด้วย Edit Plus บันทึกเป็น UTF8
– สั่ง Save As.. > ตรง Encoding เลือกเป็น UTF-8 แล้วเซฟทับไฟล์เดิมโล้ด
ส่วนใหญ่แก้ได้นะครับ
jajaa says:
27/09/2553 at 27/09/2553
พี่ค่ะ อยากได้แบบเวลาที่เราชี้เมาส์ไปที่ข้อความแล้ว ข้อมูลที่แสดงออกจะ fetch ออกมาจาก database ทำได้มั้ยคะ
istyle_001 says:
27/09/2553 at 27/09/2553
มีคำถามนิดนึงครับ ผมทำแล้วมันจะขึ้นหน้าจอเหมือนกำลังโหลดไฟล์อยู่ ซึ่งนานมากทั้งที่ไฟล์ที่ผมสร้างขั้นพิมพ์ตัวอักษรเพียงไม่กี่ตัวก็ไม่ยอมแสดง
ผมไม่แน่ใจว่าการที่เรา Include ไฟล์ css และ js เข้ามาหลายตัวในหน้า เวปเพจเดียวกันมันทำให้เกิดอาการนี้ได้หรือปล่าว รบกวนผู้รู้ช่วยแนะนำดัวยครับ ขอบคุณครับ