The code you provided should work as it is. jsFiddle
But I will be tempted to rebuild your code like this.
HTML
<div class="ads">Blah blah blah</div>
Javascript
function setMarginTop(element, marginTop) { element.style.marginTop = marginTop || null; } function hideAds(element, marginTop, ms) { setTimeout(function() { setMarginTop(element, marginTop); }, ms || 2000); } window.addEventListener('load', function () { var ads = document.querySelector('.ads'), hide = (-ads.offsetHeight) + 'px'; hideAds(ads, hide); ads.addEventListener('click', function (evt) { var target = evt.target; setMarginTop(target) hideAds(target, hide); }, false); }, false);
On jsFiddle
source share