JavaScript Snippet Force a DOM Element Redraw/Repaint

Sam Deering

JavaScript code snippet to force a DOM element redraw/repaint. A bit hacky but useful as a last resort.

var element = document.getElementById('id');
var n = document.createTextNode(' ');
var disp =;  // don't worry about previous display style

element.appendChild(n); = 'none';

setTimeout(function(){ = disp;
},20); // you can play with this timeout to make it as short as possible

Using Transit.js

If your using a transition plugin like transit.js this also works:

    .transition({ x: '-500px', easing: 'snap', duration:'0' })
    .transition({ x: '0', easing: 'snap', duration:'0' })


#element {
     position: absolute;
     right: '-500px';
     z-index: -1;

Free JavaScript: Novice to Ninja Sample

Get a free 32-page chapter of JavaScript: Novice to Ninja