คุณสามารถใช้.resize()
เพื่อรับทุกครั้งที่ความกว้าง / ความสูงเปลี่ยนไปเช่นนี้
$(window).resize(function() {
//resize just happened, pixels changed
});
คุณสามารถดูการสาธิตการทำงานได้ที่นี่โดยจะใช้ค่าความสูง / ความกว้างใหม่และอัปเดตในหน้าเพื่อให้คุณเห็น จำไว้ว่าเหตุการณ์ไม่ได้เริ่มต้นหรือจบลงจริงๆมันแค่ "เกิดขึ้น" เมื่อมีการปรับขนาดเกิดขึ้น ... ไม่มีอะไรจะบอกว่าเหตุการณ์อื่นจะไม่เกิดขึ้น
แก้ไข:ตามความคิดเห็นดูเหมือนว่าคุณต้องการบางอย่างเช่นเหตุการณ์ "on-end" โซลูชันที่คุณพบจะทำสิ่งนี้โดยมีข้อยกเว้นบางประการ (คุณไม่สามารถแยกความแตกต่างระหว่างการเลื่อนเมาส์ขึ้นและการหยุดชั่วคราวด้วยวิธีข้ามเบราว์เซอร์ เหมือนกันสำหรับการสิ้นสุดเทียบกับการหยุดชั่วคราว ) คุณสามารถสร้างเหตุการณ์นั้นเพื่อให้สะอาดขึ้นเล็กน้อยเช่นนี้:
$(window).resize(function() {
if(this.resizeTO) clearTimeout(this.resizeTO);
this.resizeTO = setTimeout(function() {
$(this).trigger('resizeEnd');
}, 500);
});
คุณอาจมีไฟล์นี้เป็นไฟล์ฐานที่ไหนก็ได้ที่คุณต้องการทำ ... จากนั้นคุณสามารถเชื่อมโยงกับresizeEnd
เหตุการณ์ใหม่ที่คุณกำลังเรียกใช้ดังนี้:
$(window).bind('resizeEnd', function() {
//do something, window hasn't changed size in 500ms
});
คุณสามารถดูการสาธิตการทำงานของวิธีการนี้ที่นี่