Господа,помогите,пожалуйста,новичку.
Имееться следующий скрипт(бабочка,порхающая за курсором)

Выделить код

Код:

<IMG id="buterfly" 
style="POSITION: absolute; Middle: 9000px" src="../img/nasekomoe4.gif"> 
<SCRIPT><!-- 
ddx=0;ddy=0;PX=600;PY=0;xm=0;ym =0; 
OlsW=Ols.width/2;OlsH=Ols.height/2 
function MoveWinnie(){ 
x=Math.round(PX+=((xm-PX)*3)/400); 
y=Math.round(PY+=((ym-PY)*3)/400); 
Ols.style.left=x-OlsW; 
Ols.style.top=y //osw 
setTimeout("MoveWinnie()",10); 
} 
function doMouse(){ 
xm=window.event.x;
ym=window.event.y; 
} 
document.onmousemove=doMouse; 
MoveWinnie(); 
//--></SCRIPT>

При работе с IE и Opera не возникает никаких проблем.При работе с Mozilla Firefox бабочка висит в верхнем правом углу и не реагирует на движения курсора. Помогите,пожалуйста, исправить ошибку?

Отладчиком пользовались?

GerAlt86
В IE неправильно реализована работа с событиями. Скрипт, который вы используете, был написан походу лет 10 назад, когда нормальных браузеров еще толком не было, и он основан на предположении, что работать может только по-кривому, т.е. в IE.
Конкретно, проблема в том, что событие должно передаваться функции в качестве аргумента, а не быть свойством некого объекта. Т.е. правильно будет:
function doMouse(e) { ... }
Далее работаем не с "window.event" а с "e". Правда, для особо тупых ослов [ie] придется все же вставить строку:
if (!e) e = window.event;

Сделал изменения по Вашему совету. Скрипт приобрел вид:

Выделить код

Код:

<IMG id=Ols 
style="POSITION: absolute; Middle: 9000px" src="img/nasekomoe4.gif"> 
<SCRIPT>
ddx=0;
ddy=0;
//начальное местоположение
PX=600;
PY=0;
xm=0;
ym =0 
//переменная рисунка
OlsW=Ols.width/2;
OlsH=Ols.height/2; 
function MoveWinnie(){ 
//изменение на новые координаты
x=Math.round(PX+=((xm-PX)*3)/400); 
y=Math.round(PY+=((ym-PY)*3)/400); 
//изменение местоположение самого рисунка относительного текущего местоположения курсора
Ols.style.left=x-OlsW; 
Ols.style.top=y; 
setTimeout("MoveWinnie()",10) 
} 
function doMouse(e){ 
if (!e) e = window.event;
xm=e.pageX;
ym=e.pageY;
} 
document.onmousemove=doMouse;
MoveWinnie() 
</SCRIPT>

Проблема осталося. Скрипт работает во всех браузерах -opera,IE, за исключением Mozilla Firefox(рисунок висит в верхнем углу и не реагирует на движения). Пожалуйста, помогите, ктонить знающий и грамотный.

GerAlt86
Выкиньте этот шлак и напишите с нуля - займёт 10-15 минут. На это

Выделить код

Код:

style="POSITION

даже смотреть противно.

ЗЫ: Ух! Только сейчас заметил:

Выделить код

Код:

setTimeout("MoveWinnie()",10)

- интересно, насколько долго это сможет проработать?

GerAlt86

Выделить код

Код:

function doMouse(e) {
  var x = 0, y = 0;
  if (!e) e = window.event; //for IE 
  if (e.pageX || e.pageY)
  {
    x = e.pageX;
    y = e.pageY;
  }
  else if (e.clientX || e.clientY) //for IE
  {
    x = e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft;
    y = e.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop;
  }
  Ymouse=y-20; //image position is 20px above cursor
  Xmouse=x;
}
...
MoveWinnie() {
document.getElementById("Ols").style.left = Xmouse+'px';  
document.getElementById("Ols").style.top = Ymouse+'px';
}

P.S.
Разберитесь с кодом таки. Что за свойство CSS middle? Нет такого!