Skip to content

Instantly share code, notes, and snippets.

View Akurganow's full-sized avatar
🇬🇪
In Georgia

Alexander Kurganov Akurganow

🇬🇪
In Georgia
View GitHub Profile
@paulirish
paulirish / what-forces-layout.md
Last active April 26, 2024 05:24
What forces layout/reflow. The comprehensive list.

What forces layout / reflow

All of the below properties or methods, when requested/called in JavaScript, will trigger the browser to synchronously calculate the style and layout*. This is also called reflow or layout thrashing, and is common performance bottleneck.

Generally, all APIs that synchronously provide layout metrics will trigger forced reflow / layout. Read on for additional cases and details.

Element APIs

Getting box metrics
  • elem.offsetLeft, elem.offsetTop, elem.offsetWidth, elem.offsetHeight, elem.offsetParent
@victorpolko
victorpolko / uniq.simple.js
Last active September 11, 2015 14:50
JavaScript: unique array values (simple types only)
var simpleUniq = function(array) {
return array.reduce(function(prev, curr, index, arr) {
if (prev.indexOf(curr) === -1) prev.push(curr);
return prev;
}, []);
}
@victorpolko
victorpolko / duplicates.js
Last active September 11, 2015 14:50
JavaScript: collect duplicates in array
var duplicates = function(array) {
var iteratee = array.slice(0);
var seen = [];
return array.filter(function(element) {
iteratee.shift();
if (seen.indexOf(element) !== -1) return false;
var hit = iteratee.indexOf(element) !== -1;
if (hit && seen.indexOf(element) === -1) seen.push(element);