Собственно говоря, вот пример кода с простейшим дополнительным скриптом, при помощи которого вся проблема и решается:

Код:
<script language="JavaScript" src="opacity.js"></script>
<script language="JavaScript">fadeOpacity.addRule(&#39;oR1&#39;, .0, 1, 20);</script>

<script>
function preloadImages() {
frame = new Array();
a = preloadImages.arguments;
if (document.images) {
for (i=0; i<a.length; i++) {
if (a[i].indexOf("#")!=0) { frame[i] = newImage(a[i]); }}
preloadFlag = true; }}
</script>

<script>
function imgOn(imgName) {
if (document.images) {
document.img.src = imgName; }}
</script>

<body onload="preloadImages(&#39;img/1.gif&#39;, &#39;img/2.gif&#39;)">
[Только зарегистрированные пользователи могут видеть ссылки. ]
[Только зарегистрированные пользователи могут видеть ссылки. ]

[img]img/spacer.gif[/img]
Скрипт, конечно, не совсем ролловерный, так как при ролловерном скрипте изображения возвращаются на первоначальные при потере фокуса. А здесь нам не надо, чтобы они возвращались. Пусть висят - хлеба не просят - они же прозрачные становятся в конечном итоге...

Причем решается все в данном случае вообще без всяких там position, top, left и z-index... Вставляйте spacer.gif в любую нужную Вам ячейку таблицы. И он будет меняться по описанным выше правилам.

Единстенный нюанс - мне пришлось все-таки добавить alpha и прочее для spacer.gif. В противном случае при ПЕРВОМ изменении изображения оно немного дергалось. А теперь вот и spacer.gif "вдвойне" прозрачный стал при загрузке страницы...

Теперь ничего никуда не убегает?