อินสแตนซ์ Fancybox จำเป็นต้องมีวิธีการเริ่มต้นใหม่หรือไม่

ฉันกำลังพยายามเริ่มต้นอินสแตนซ์ FancyBox ใหม่ หลังจากที่ฉันได้ลบบางรายการออกจากเพจแล้ว แต่ไม่พบวิธีการใดๆ ที่สามารถทำได้ หรือตัวเลือกใด ๆ เพื่อเริ่มต้นใหม่อัตโนมัติเมื่อมีการจัดการ DOM ฉันพลาดอะไรไปรึเปล่า?

ปัญหาคือเมื่อฉันคลิกลูกศรผ่านรายการที่สร้างอินสแตนซ์ด้วยแอตทริบิวต์ rel="group" ฉันยังคงเห็นเนื้อหา "ถูกลบ"

ฉันเริ่มต้น Fancybox บน DOM Ready ของ jQuery เช่นนี้

$(".fancybox").fancybox();

องค์ประกอบ HTML มีลักษณะดังนี้:

<a class="fancybox" rel="group" href="http://localhost/myimages/image-1.jpg"></a>
<a class="fancybox" rel="group" href="http://localhost/myimages/image-2.jpg"></a>

ฉันใช้ FancyBox เวอร์ชัน 2 มีข้อเสนอแนะหรือความคิดเห็นใดๆ


person Theunis    schedule 13.05.2015    source แหล่งที่มา
comment
ตามทฤษฎีแล้ว คุณไม่จำเป็นต้องดำเนินการใดๆ หลังจากลบเนื้อหาออกแล้ว เนื่องจาก fancybox v2.x รองรับเมธอด live สำหรับการเพิ่ม/ลบเนื้อหาแบบไดนามิก แต่ขึ้นอยู่กับสิ่งที่คุณเข้าใจโดยการลบเนื้อหา และคุณจะทำอย่างไร jsfiddle.net/9g1onkvk   -  person JFK    schedule 14.05.2015
comment
@JFK ฉันลบและเพิ่มรายการใหม่ด้วย AJAX จริงๆ สำหรับฉันดูเหมือนว่าการใช้แอตทริบิวต์ rel=group ไม่ได้อัปเดต 'ดัชนี' ของรายการในสภาพแวดล้อมที่ฉันสร้างขึ้น หลังจากเพิ่ม/ลบหลายรายการ ระบบจะไม่แสดง 'หน้า' ตามลำดับเวลาเมื่อคลิกปุ่มนำทาง JSFiddle ของคุณโดยใช้แอตทริบิวต์ rel=gallery ทำในสิ่งที่ฉันต้องการอย่างแน่นอน ขอบคุณ.   -  person Theunis    schedule 14.05.2015


คำตอบ (1)


Fancybox 2 ไม่มีวิธีการทำลายหรืออัปเดตใดๆ

ด้วยเหตุนี้ คุณจะต้องเริ่มการทำงานของวิธี Fancybox อีกครั้ง แต่โปรดทราบว่าคุณต้องใช้เมธอด .unbind ก่อน และลบเหตุการณ์ใดๆ บนองค์ประกอบก่อนที่คุณจะเริ่มต้น Fancybox ใหม่ ดู - วิธีทำลาย Fancybox เกี่ยวกับวิธีเลียนแบบวิธีทำลาย

คำตอบสั้นๆ อัปเดต DOM ของคุณ ยกเลิกการเชื่อมโยงเหตุการณ์ในทุกวิธี จากนั้นจึงเชื่อมโยงใหม่อีกครั้งด้วยการเรียกวิธี Fancybox อีกครั้ง

person James    schedule 13.05.2015
comment
ตามทฤษฎีแล้ว คุณไม่จำเป็นต้องดำเนินการใดๆ หลังจากลบเนื้อหาแล้ว เนื่องจาก fancybox v2.x รองรับเมธอด live สำหรับเนื้อหาที่เพิ่ม/ลบแบบไดนามิก ดังนั้นการเริ่มการทำงานของเมธอด fancybox อีกครั้งจึงซ้ำซ้อน jsfiddle.net/9g1onkvk - person JFK; 14.05.2015
comment
@JFK ฉันควรจะทดสอบทฤษฎีของฉันด้วยซอก่อน ขอบคุณสำหรับการแบ่งปันสิ่งนี้ ฉันได้เรียนรู้สิ่งใหม่ในวันนี้ :) - person James; 14.05.2015