संभावित रूप से बड़े जेएस पुस्तकालयों के साथ एक बहुत ही गतिशील यूआई (सिंगल पेज ऐप सोचें) के साथ काम करते समय, टेम्पलेट्स, सत्यापन, AJAX, एनिमेशन आदि देखें ... कुछ रणनीतियों क्या हैं जो ब्राउज़र खर्च करने के समय को कम या कम करने में मदद करेंगे पुन: प्रवाहित?डीओएम तत्वों को संशोधित करने और रिफ्लो को सीमित करने का सबसे प्रभावी तरीका क्या है?
उदाहरण के लिए, हम जानते हैं कि डीआईवी आकार परिवर्तन को पूरा करने के कई तरीके हैं लेकिन क्या ऐसी तकनीकें हैं जिन्हें टालना चाहिए (एक रिफ्लो दृष्टिकोण से) और ब्राउज़र के बीच परिणाम अलग-अलग कैसे होते हैं?
यहाँ एक ठोस उदाहरण है:
एक DIV के आकार जब खिड़की का आकार बदलने पर नियंत्रित करने के लिए 3 अलग अलग तरीकों, जो इनमें से रीफ़्लो कम करने के लिए इस्तेमाल किया जाना चाहिए का एक सरल उदाहरण को देखते हुए?
http://jsfiddle.net/xDaevax/v7ex7m6v/
//Method 1: Pure Javascript
function resize(width, height) {
var target = document.getElementById("method1");
target.setAttribute("style","width:" + width + "px");
target.setAttribute("style", "height:" + height + "px");
console.log("here");
} // end function
window.onresize = function() {
var height = (window.innerHeight/4);
var width = (window.innerWidth/4);
console.log(height);
resize(height, width);
}
//Method #3 Jquery animate
$(function() {
$(window).on("resize", function(e, data) {
$("#method3").animate({height: window.innerHeight/4, width: window.innerWidth/4}, 600)
});
});
कृपया ध्यान दें कि आप अपनी पहली विधि में _style attribute_ को दो बार ओवरराइट कर रहे हैं। यह शायद वह नहीं है जो आप करना चाहते थे। –