Skip to content

Instantly share code, notes, and snippets.

@madrobby
Created November 13, 2011 13:04
Show Gist options
  • Star 13 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save madrobby/1362093 to your computer and use it in GitHub Desktop.
Save madrobby/1362093 to your computer and use it in GitHub Desktop.
Force rendering a DOM element when Webkit is acting up
forceRerenderOnWebkit: ->
@el.parentNode.style.cssText += ';-webkit-transform:rotateZ(0deg)'
@el.parentNode.offsetHeight
@el.parentNode.style.cssText += ';-webkit-transform:none'
@KrofDrakula
Copy link

@gr2m: It would seem the "brutal" version here changing the padding seems a bit overkill; I use the following code for a rock solid repaint:

function forceRedraw(el) {
  var t = el.ownerDocument.createTextNode(' ');
  el.appendChild(t);
  setTimeout(function() { el.removeChild(t); }, 0);
}

@helgri
Copy link

helgri commented Nov 15, 2011

@gr2m damn, i just suggested a class named "repaint", not "redraw" ;)

but i still favor a solution which doesn't need to touch the dom at all

@nuragic
Copy link

nuragic commented Jun 10, 2014

Hi guys! Thanks to all for the suggestions... So, anyone know what is the most optimal way to force a reflow? Any jsPerf there? :)

@digitalicarus
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment