นี่ก็เป็นปลั๊กอินของ jquery อีกตัวหนึ่งที่ใช้สำหรับแสดงรูปภาพ ที่มากความสามารถและมีการพัฒนาอย่างต่อเนื่อง มีระบบธีมให้เลือกใช้ด้วย
Dark square theme
light rounded theme
light square theme
dark rounded theme
วิธีการใช้งาน
1.include jquery , css และ pretty photo เข้ามาในส่วน <head>
<script src="js/jquery.js" type="text/javascript" charset="utf-8"></script> <link media="screen" href="css/prettyPhoto.css" type="text/css" charset="utf-8" rel="stylesheet" /> <script src="js/jquery.prettyPhoto.js" type="text/javascript" charset="utf-8"></script> |
2.โครงสร้าง html
<a title="Description" href="images/fullscreen/1.jpg" rel="prettyPhoto"><img alt="Picture 1 title" src="/images1.jpg" /></a> |
จะเห็นว่าจะใช้ลิ้งก์ชี้ไปที่ภาพใหญ่ที่ต้องการแสดง สิ่งที่สำคัญคือ rel="prettyPhoto" เพื่อให้ตัวปลั๊กอินรู้ว่าภาพนี้เราต้องการใช้คุณสมบัติของเขา เข้ามาช่วยแสดงผล และ title="Description" ของแท็ก a นะครับ เพื่อใช้แสดงเป็น title ของบ้อกที่ใช้แสดงภาพ
3.เขียนโค้ด javascript ในส่วน <head>
<script type="text/javascript" charset="utf-8"> $(document).ready(function(){ $("a[rel^='prettyPhoto']").prettyPhoto(); }); </script> |
โค้ดทั้งหมด เป็นดังนี้
<html> <head> <title>Pretty-Photo</title> <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script> <link rel="stylesheet" href="css/prettyPhoto.css" type="text/css" media="screen" charset="utf-8" /> <script src="js/jquery.prettyPhoto.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript" charset="utf-8"> $(document).ready(function(){ $("a[rel^='prettyPhoto']").prettyPhoto(); }); </script> </head> <body> <a href="images/fullscreen/1.jpg" rel="prettyPhoto" title="Description"><img src="/images1.jpg" alt="Picture 1 title" /></a> <a href="images/fullscreen/2.jpg" rel="prettyPhoto" title="Description"><img src="/images2.jpg" alt="Picture 2 title" /></a> </body> </html> |
จบแล้วครับ การใช้งาน ง่ายๆ แค่นี้เอง ข้อความด้านล่างลงไป ผมจะกล่าวถึงการปรับแต่งครับ
ในกรณีที่คุณต้องการปรับแต่งตัว pretty photo ก็สามารถทำได้โดยการส่ง parameter เข้าไปตอนเรียกใช้ ดังนี้
<script type="text/javascript" charset="utf-8"> $(document).ready(function(){ $("a[rel^='prettyPhoto']").prettyPhoto({ animationSpeed: 'normal', /* ลักษณะการแสดงแอนิเมชั่น fast/slow/normal */ padding: 40, /* กำหนดระยะห่างระหว่างรูปภาพกับตัวบ้อก */ opacity: 0.35, /* กำหนดค่าความโปร่งแสง 0 - 1 */ showTitle: true, /* กำหนดให้แสดง title หรือไม่ true/false */ allowresize: true, /* อนุญาติให้ยูสเซ่อร์ย่อหรือขยายหรือไม่ true/false */ counter_separator_label: '/', /* The separator for the gallery counter 1 "of" 2 */ theme: 'light_rounded' /* ธีม light_rounded / dark_rounded / light_square / dark_square */ }); }); </script> |
ในกรณีที่คุณ เลือกใช้ ธีม dark_rounded หรือ dark_square ให้ใส่คำสั่งนี้เข้าไปในส่วน <head> ด้วย เพื่อแก้ปัญหา IE แสดงภาพที่เป็นนามสกุล .png ไม่ยอมโปร่งแสงให้
<!--[if IE 6]> <script src="js/DD_belatedPNG_0.0.7a-min.js"></script> <script> DD_belatedPNG.fix('.pp_left,.pp_right,a.pp_close,a.pp_arrow_next,a.pp_arrow_previous,.pp_content,.pp_middle'); </script> <![endif]--> |
ในกรณีต้องการแสดงรูปภาพในแบบของแกลเลอรี่ ทำได้ดังนี้ rel="prettyPhoto[ gallery-name ]" ในเครื่องหมาย [] ก็เป็นชื่อของ แกลเลอรี่ ซึ่งอยากจะให้เป็นอะไรก็ได้ และใน 1 เพจ ท่านก็สามารถมีแกลเลอรี่ได้หลายตัว
แหล่งศึกษาเพิ่มเติม : http://www.no-margin-for-errors.com/projects/prettyPhoto/
art says:
28/05/2552 at 28/05/2552
ไม่สำเร็จครับ
ทำเหมือน ทุกอย่าง ทำไมหว่าครับ
administrator says:
28/05/2552 at 28/05/2552
หลังจากดาวน์โหลดโค้ดมา ในโฟลเดอร์มันจะมีตัวอย่างการใช้งานอยู่ครับ ลองศึกษาจากตัวนั้นอีกทาง แล้วก็ดูว่าเราทำผิดตรงไหนครับ
art says:
28/05/2552 at 28/05/2552
แก้ได้แล้วครับบ แหะๆ ขอบคุณครับ บทความดีมากครับ
ติดตามผลงานอยู่นะครับ สู้ๆๆ
administrator says:
28/05/2552 at 28/05/2552
ครับผม ว่าแต่แก้ยังไงเหรอ ถึงทำได้
art says:
16/06/2552 at 16/06/2552
สวัสดีครับ
พอดีไม่ได้มาอ่านครับก็เลยเพิ่งเห็นว่าท่านเจ้าของบ้านมาโพสไว้
ก็คือผม ไม่ได้โหลด jquery.js มาใส่
โค้ดก็เลยไม่ทำงานหน่ะครับ แหะๆ พลาดเองแหละครับ
ตอนนี้ก็มาอ่าน captcha อยู่ครับ
ผมไม่เก่งโปรแกรมก็เลยยัง งงๆ ต้องลองทดสอบเยอะๆก่อน
ไว้ค่อยมารบกวนใหม่ครับ ขอบคุณครับ
administrator says:
16/06/2552 at 16/06/2552
ด้วยความยินดีครับ
fishano says:
18/07/2552 at 18/07/2552
ขอบ คุณมาก
ต้องไปเอาไฟล์
jquery.js มาใส่ด้วยน่ะ งั้นไม่ขึ้น
administrator says:
18/07/2552 at 18/07/2552
ถูกต้องแล้วครับ พวก jQuery plugin นี่ ไฟล์ jquery จะไม่ถูกผนวกรวมเข้าไปด้วย ถ้าหากว่าในโฟลเดอร์ที่ให้ดาวน์โหลดไม่มีให้มา ก็ต้องไปดาวน์โหลดมาใส่เองที่ http://www.jquery.com หรือจะใช้ CDN ของกูเกิล ก็ได้
iamohmm says:
22/07/2552 at 22/07/2552
เว็บ ตัวดาวโหลดเข้าไม่ได้แล้วครับผม
administrator says:
22/07/2552 at 22/07/2552
ผมลองโหลดดูยังได้นะครับ
boy says:
28/07/2552 at 28/07/2552
ถ้าเอาไปใช่ที่เว็บเรา
จะมีลิขสิทธิ์ไรรเปล่าครับ
อ่านไม่เข้าใจ
administrator says:
29/07/2552 at 29/07/2552
ฟรีครับ ไม่มีปัญหาเรื่องลิขสิทธิ์ เท่าที่ผมเจอมา jquery plugin ทุกตัว ฟรีหมด
SG says:
21/08/2552 at 21/08/2552
เราสามารถ กำหนดความกว้างของกรอบได้ไหมคะ
administrator says:
22/08/2552 at 22/08/2552
ถ้าเราต้องการกำหนดความกว้าง ความสูงของบ้อกทำได้ครับ โดยส่งพารามิเตอร์ width height ให้มันด้วย อย่างนี้
<a href=”foodinc_h.480.mov?width=480&height=260” rel=”prettyPhoto[movies]” title=”Food, Inc.” rel=”nofollow”><img src=”images/thumbnails/quicktime-logo.gif” width=”60″ alt=”Food, Inc.” /></a>
ปลั๊กอินตัวนี้ไม่เพียงแสดงภาพได้เท่านั้น แต่แสดงคอนเท้นได้แทบทุกอย่าง ทั้ง external site , video , image ,flash
รายละเอียดทั้งหมดอยู่ที่นี่ครับ
http://www.no-margin-for-errors.com/projects/prettyPhoto-jquery-lightbox-clone/
sitti says:
27/08/2552 at 27/08/2552
บทความนี้สุดยอดมากๆครับ ผมชอบสคริปต์เกี่ยวกับรูปภาพอยู่ด้วย โดนสุดๆ
ทดลองทำตามแล้ว (ทุกบทความที่อ่านมา ทำตามแล้วได้ผลครับ เข้าใจง่าย หุหุหุ ขนาดผมไม่รู้ว่าไอ้ jQuery มันคืออะไร ยังทำตามได้เลยครับพี่น้อง)
ติดตามผลงานอย่างใกล้ชิดนะครับ
Ekapop says:
09/02/2553 at 09/02/2553
น่าใช้มากเลยครับ เดี๋ยวว่างๆจะลองโหลดมาเล่นดู :)
jedi says:
06/05/2553 at 06/05/2553
มีท่านใดพอทราบวิธีการทำให้ prettyPhoto สามารถเปิดขึ้นมาได้เอง โดยไม่ต้องคลิ๊กมั๊ยคะ อยากทำให้มันขึ้นโชว์ก่อนเข้าหน้าเว็บไซต์หนะค่ะ
mr.t says:
03/12/2553 at 03/12/2553
รอคำตอบของคุณjediอยู่คับ มีใครพอจะรู้บ้างไหมคับ
administrator says:
03/12/2553 at 03/12/2553
ตอบคุณ jedi และ mr.t
หลักการคร่าวๆ ตัวเพรตตี้โฟโต้มันจะทำงานก็ต่อเมื่อเราเอาเมาส์ไปคลิกลิ้งก์ใช่มั้ยครับ หลังจากโหลดเพจเสร็จ เราก็หลอกมันเสียเลยว่า ลิ้งก์ถูกคลิกแล้ว
ก่อนอื่นใส่ id ให้กับลิ้งก์สักตัว
จากนั้นให้เติมคำสั่งนี้เข้าไปใน .ready
จะเป็นการหลอกว่าลิ้งก์ถูกคลิกแล้ว ให้ทำงานโลด
kij says:
05/12/2553 at 05/12/2553
มันขึ้น undefined อะครับเอาออกยังไงครับรบกวนหน่อย
xcrozz says:
01/01/2554 at 01/01/2554
ขอบคุณมากครับ ได้ความรู้เพิ่มเติมอีกแล้ว ^^
chan says:
04/01/2554 at 04/01/2554
รบกวนถามหน่อยคับ
ทำยังงัยให้ภาพเลื่อนไปได้อะคับ
ที่ผมทำได้มันขึ้นมาแค่ภาพเดียวอะคับแล้วก็ไม่มีพวกลูกศรให้เลื่อนด้วย
อะคับ
administrator says:
04/01/2554 at 04/01/2554
ในกรณีต้องการแสดงรูปภาพในแบบของแกลเลอรี่ ทำได้ดังนี้ rel=”prettyPhoto[ gallery-name ]” ในเครื่องหมาย [] ก็เป็นชื่อของ แกลเลอรี่ ซึ่งอยากจะให้เป็นอะไรก็ได้ และใน 1 เพจ ท่านก็สามารถมีแกลเลอรี่ได้หลายตัว
chan says:
04/01/2554 at 04/01/2554
ขอบคุณคับ……
ขออีเมล์คุณพี่ได้มั้ยคับ…..
เพื่อจะได้ถามเรื่อง jquery
administrator says:
04/01/2554 at 04/01/2554
[email protected] ครับ
chan says:
04/01/2554 at 04/01/2554
ขอบคุณมากมายคับ…
chan says:
04/01/2554 at 04/01/2554
มีหนังสือ เล่มไหนที่สอน jquery ดีๆ แนะนำมั่งมั้ยคับ
administrator says:
04/01/2554 at 04/01/2554
ในหน้าดาวน์โหลดนี้ ผมได้ใส่ jquery ไว้ 2 เล่ม แต่ก็เป็นภาษาอังกฤษทั้งคู่ หนังสือภาษาไทยผมไม่เคยเห็น ถ้าไม่ถนัดภาษาอังกฤษ แนะนำให้ลองฝึกครับ จะได้ฝึกภาษาด้วยฝึกการเขียนโค้ดด้วย ได้สองต่อ เพราะถ้าไม่ฝึกมันจะลำบากในอนาคตครับ เพราะหนังสือที่เขียนดีมักเป็นภาษาอังกฤษ เขาขายได้เยอะก็พยายามทำมันดี เขาเขียนเยอะมาก มันต้องมีสักเล่มที่ถูกใจเรา เราก็ว่าดี
http://www.select2web.com/ebook-downloads
chan says:
04/01/2554 at 04/01/2554
ขอบคุณคับที่แนะนำ จะลองทำดูคับ…..
chan says:
04/01/2554 at 04/01/2554
รบกวนอีกทีนะคับ เคยอ่านเล่นนี้มั้ยคับ
http://www.se-ed.com/eShop/Products/Detail.aspx?CategoryId=172&No=9786160802746
administrator says:
04/01/2554 at 04/01/2554
ลองลิ้งก์ไปดูแล้วไม่เจอครับ
chan says:
04/01/2554 at 04/01/2554
ชื่อหนังสือคับ ออกแบบและพัฒนาเว็บไซต์ด้วย jQuery
อยู่ในเว็บของซีเอ็ด อะคับ
เพื่อจะผ่านตาท่านพี่บ้าง
administrator says:
04/01/2554 at 04/01/2554
ผมลองดูสารบัญในเว็บซีเอ็ดดูแล้ว ซื้อเลยครับไม่ต้องลังเล
ตอนนี้กำลังทำการย้ายโพสต์ทั้งหมดจาก platoosom ให้ไปเป็น administrator กลัวคนจะไม่รู้ว่า platoosom ก็คือ admin ของเว็บนี้
chan says:
04/01/2554 at 04/01/2554
ดีเลยคับ….บางคนอาจจะไม่รู้อะคับ ผมเองก็เพิ่งรู้อะคับ…..ตอนเห็นอีเมล์ (^o^)
administrator says:
04/01/2554 at 04/01/2554
เคยมีคนถามอีเมล์คนเขียนบทความกับคนคอมเม้นท์ platoosom หลายครั้งแล้ว วันนี้ท่านถาม ผมก็เลยคิดว่า สงสัยคนคงไม่รู้แน่เลย อีเมล์กับเบอร์โทร ผมก็ใส่ไว้ตรงด้านล่างของเว็บ
เลยตัดสินใจลบแอเค้า platoosom ทิ้ง ย้ายบทความที่เคยเขียนไว้ทั้งหมดไปเป็นของ administrator และคอมเม้นท์ของ platoosom ทั้งหมดก็ถูกย้ายให้ไปเป็นของ administrator
ตอนนี้ กระบวนการถ่ายโอนสมบูรณ์เรียบร้อย
ออกตัวกันให้ชัดๆเลยทีนี้ *0*
chan says:
04/01/2554 at 04/01/2554
คราวนี้ชัดเจนเลย….คับ
chan says:
04/01/2554 at 04/01/2554
พี่รับเขียน from ส่งเมล์มั้ยคับ
i love thailand says:
07/01/2554 at 07/01/2554
ได้แล้วครับขอบคุณมากๆครับ
aung says:
18/01/2554 at 18/01/2554
ถ้าหากว่า พอคลิก close หรือว่า ตรง ส่วนดำๆ แล้วให้มันวิ่งไปที่หน้าเว็บอีกหน้าหนึ่งเราต้องกำหนดตรงไหนคะ รบกวนหน่อยนะคะ ขอบคุณสำหรับความรู้ดีๆนะคะ
chan says:
18/01/2554 at 18/01/2554
มันลิงค์ไป page อื่นหรอคับ
ToP says:
18/01/2556 at 18/01/2556
ถ้าผมดึงรูปภาพมาจาก folder หละครับ หลายๆรูปอ่าครับ ต้องมาประยุกต์ใช้ยังไงครับ ช่วยแนะนำที