HTML&JavaScript

Heretic

Новичок
HTML&JavaScript

Объясните или дайте ссылочку по какой причине не работает данный ниже скрипт

<script type="text/javascript" language="javascript">
function abvgdeyka() {
dY = document.body.scrollTop;
alert(dY);
window.setInterval("abvgdeyka()", 1000);
};

dY=0 при условии что стоит любой !DOCTYPE, если его убрать, то значение dY отображается.
 

Sizz

Новичок
потомучто document.body.scrollTop - нет ни в одном стандарте, это фича IE
Если вы будете пользоваться неполным тегом DOCTYPE, устаревшим его видом, или вообще забудете про него, броузер перейдет в "загадочный" режим и будет исходить из предположения, что вы писали код страницы с ошибками и вольно отступали от стандартов, т.е. так, как писали в конце 90-ых годов.

В этом режиме броузер попытается разобрать вашу страницу по правилам обратной совместимости и выведет на экран, например, CSS так, как его вывел бы Internet Explorer 4-ой версии, а DOM будет работать так, как он работал именно в этом броузере (IE переключается в свой старый DOM, а Mozilla и Netscape 6 переключается вообще в бог знает что).
подробнее про DOCTYPE http://www.webmascon.com/topics/coding/25a.asp
 

Heretic

Новичок
Спасибо, разобрался.

Автор оригинала: Sizz
потомучто document.body.scrollTop - нет ни в одном стандарте, это фича IE

подробнее про DOCTYPE http://www.webmascon.com/topics/coding/25a.asp
Читано, уже давно.

http://www.quirksmode.org/viewport/compatibility.html.
за 2ую ссылочку отдельное спасибо.
 
Сверху