Как правильно указать мозиле координаты дива?


Выделить код

Код:

function help(id) 
     {
     
     var HTMLObject=document.getElementById('desc'+id);     

     if (HTMLObject) 
          {
          var Open = HTMLObject.style.display;
          // 
          if (Open!="block") {
               HTMLObject.style.display="block";
               HTMLObject.style.visibility="visible";
               }

          var DocLeft=document.documentElement.scrollLeft;

          var top=_yclient()+document.documentElement.scrollTop+16
          var left=_xclient()+DocLeft+16;

          HTMLObject.style.left=left; // (event.clientX+document.body.scrollLeft+document.documentElement.scrollLeft+16)
          HTMLObject.style.top=top;
          
          }
     
     }

подобный код она не понимает… не говоря уж о динамическом перемещении дива за мышью. Вот, собственно цель.


Код скрипта: http://dlab.ru/_javascript/tips.js

подобный код она не понимает

http://pastebin.mozilla-russia.org/90321 - работает.

Спасибо

Выделить код

Код:

function help (event,pi)
                {
                        var x = event. clientX;
                        var y = event. clientY;
                        var div = document. getElementById (pi);
              var DocLeft=document.documentElement.scrollLeft;
             // alert(scrLeft());
                    div. style. left = x+DocLeft+16;
                    div. style. top = y+document.documentElement.scrollTop+16;
          div.style.visibility="visible";
                }
           
                               function off (event,pi) 
                    {
     
                         var div = document. getElementById (pi);
                         //div.style.display="none";
                         div.style.visibility="hidden";
                    }

не возвращает                    
 (document.documentElement.scrollTop) вот это свойство при onMouseOver
 Mozilla. что делать?

не возвращает (document.documentElement.scrollTop) вот это свойство при onMouseOver

Почему не возвращает, возвращает.

Как оказалось без доктайпа возвращает, с ним нет. Вообщем снесли доктайп, сейчас работает.

Все мои примеры были с <DOCTYPE... transitional. Я ещё проверил со strict html/xhtml - работает.

У меня в стандартном режиме код не работает.

Выделить код

Код:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
	<title></title>
	<script language="JavaScript">
		function mv (event)
		{
			var x = event. clientX;
			var y = event. clientY;
			var div = document. getElementById ("div01");
		    div. style. left = x;
		    div. style. top = y;
		}
	</script>
	</head>
		<body onmousemove="mv(event)">
			<div style="position:fixed;" id="div01">the div</div>
		</body>
</html>

Стандартный режим включается доктайпом. Если говорить о HTML, то есть всего три доктайпа:

Выделить код

Код:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Выделить код

Код:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Выделить код

Код:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

div. style. left = x + 'px';