वहाँ पहले से ही एक जोड़े हैं भले ही कामकाजी समाधानों के उत्तर के साथ, इस तरह का कार्य महत्वपूर्ण है (खिड़की का आकार बदलना घटना कई बार ट्रिगर होती है जबकि उपयोगकर्ता खिड़की का आकार बदल रहा है) इसलिए मैं दृढ़ता से सुझाव देता हूं कि आप पे का ख्याल रखें rformance। कृपया नीचे दिए गए अनुकूलित कोड पर एक नजर है:
/* Do not waste time by creating jQuery object from window multiple times.
* Do it just once and store it in a variable. */
var $window = $(window);
var lastWindowWidth = $window.width();
$window.resize(function() {
/* Do not calculate the new window width twice.
* Do it just once and store it in a variable. */
var windowWidth = $window.width();
/* Use !== operator instead of !=. */
if (lastWindowWidth !== windowWidth) {
// EXECUTE YOUR CODE HERE
lastWindowWidth = windowWidth;
}
});
इसके अलावा, आप Debounce/Throttle पैटर्न की जाँच में रुचि हो सकती है - वे इस तरह के मामलों में काफी प्रदर्शन में सुधार।
यह बहुत अच्छा है ... –
क्या केवल तभी कार्य करने का कोई तरीका है जब चौड़ाई बदल गई हो और जब पिक्सेल मान से कम हो? जैसे अगर ($ (विंडो)। विड्थ() <500) उपर्युक्त के साथ संयुक्त है? – Dan382
उपरोक्त कोड काम करता है, लेकिन इसका प्रदर्शन उपोष्णकटिबंधीय है। JQuery विंडो ऑब्जेक्ट कई बार बनाया गया है, भले ही यह केवल एक बार किया जा सके। इसके अलावा खिड़कियों की नई चौड़ाई निर्विवाद रूप से कई बार गणना की जाती है। – Anton