Skip to content

Instantly share code, notes, and snippets.

Alexander Kurganov Akurganow

Block or report user

Report or block Akurganow

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@paulirish
paulirish / what-forces-layout.md
Last active Nov 19, 2019
What forces layout/reflow. The comprehensive list.
View what-forces-layout.md

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.

Element

Box metrics
  • elem.offsetLeft, elem.offsetTop, elem.offsetWidth, elem.offsetHeight, elem.offsetParent
  • elem.clientLeft, elem.clientTop, elem.clientWidth, elem.clientHeight
  • elem.getClientRects(), elem.getBoundingClientRect()
@victorpolko
victorpolko / uniq.simple.js
Last active Sep 11, 2015
JavaScript: unique array values (simple types only)
View uniq.simple.js
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 Sep 11, 2015
JavaScript: collect duplicates in array
View duplicates.js
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);
You can’t perform that action at this time.