dobra, wykładam kawę na ławę. najwidoczniej nie przeczytałeś pierwszego zdania mojego postu.
napisalem:
właściwie ważne jest to, żeby tej kod javascript, który podałeś (odczytujący rozdzielczość) był (najlepiej) na samym końcu
rozważmy dwa fragmentu:
<html><head><script>
setTimeout(function(){alert('error');document.getElementById('deav').style.width=screen.width;},1000);
//(function(){alert('error');document.getElementById('deav').style.width=screen.width;})();
</script></head><body>
<div style="position:absolute;border: solid 1px red;" id="deav">habueh</div>
</body>
<html><head><script>
//setTimeout(function(){alert('error');document.getElementById('deav').style.width=screen.width;},1000);
(function(){alert('error');document.getElementById('deav').style.width=screen.width;})();
</script></head><body>
<div style="position:absolute;border: solid 1px red;" id="deav">habueh</div>
</body>
jeśli nie wiesz, który zadziała na pewno poprawnie, to odpowiadam:
zadziała ten z timeoutem, poniewaz kod javascript jest wywolywany zaraz po znalezieniu tagu zamykajacego go, a wówczas nawet nie istnieje jeszcze div#deav.