आप .resize()
उपयोग कर सकते हैं इस तरह, हर बार चौड़ाई/ऊंचाई वास्तव में बदल जाता है पाने के लिए विंडो का आकार बदलने के लिए शुरू होता है:
$(window).resize(function() {
//resize just happened, pixels changed
});
You can view a working demo here, यह नई ऊंचाई/चौड़ाई मान लेता है और आपको देखने के लिए पृष्ठ में अपडेट करता है। याद रखें कि वास्तव में या अंत शुरू होता है, यह आकार बदलने पर बस "होता है" ... कहने के लिए कुछ भी नहीं होता है कि कोई दूसरा नहीं होगा।
संपादित करें: तक टिप्पणियां ऐसा लगता है आप एक "पर अंत" घटना की तरह कुछ करना चाहते हैं, समाधान आप पाया करता है, कुछ अपवादों के साथ (यदि आप माउस-अप के बीच भेद नहीं कर सकते हैं और एक क्रॉस-ब्राउज़र तरीके में एक विराम, अंत के लिए बनाम) के लिए एक ही है। आप कि घटना बना सकते हैं, हालांकि, यह थोड़ा क्लीनर, इस तरह बनाने के लिए:
$(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
});
You can see a working demo of this approach here
स्रोत
2010-06-08 10:21:34
वहाँ एक jQuery और गैर jQuery समाधान यहाँ है: https://github.com/louisremi/jque ry-smartresize – bradt
jquery-smartresize debounced घटनाओं के लिए सुंदर समाधान! – tetri