Код, который вы дали, должен работать как есть. jsFiddle
Но я бы соблазнился изменить ваш код следующим образом.
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);
Вкл. jsFiddle