Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   не работает метод (https://javascript.ru/forum/events/22054-ne-rabotaet-metod.html)

kent666 04.10.2011 17:57

не работает метод
 
всем привет. Помогите разобраться. В книге по JS приведен следующий пример
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<script type="text/javascript">
var Geometry = {};
if (window.screenLeft === undefined) { // Для IE и других
Geometry.getWindowX = function() { return window.screenLeft; };
Geometry.getWindowY = function() { return window.screenTop; };
}
else if (window.screenX) { // Для Firefox и других
Geometry.getWindowX = function() { return window.screenX; };
Geometry.getWindowY = function() { return window.screenY; };
}
document.write(Geometry.getWindowX);
</script>
</body>
</html>

но почему то сам метод не корректно работает и координаты не расчитываються

Snipe 04.10.2011 18:02

эм...
if (window.screenLeft === undefined) {
    Geometry.getWindowX = function() { return window.screenLeft; };
}

Это действительно должно работать?

kent666 04.10.2011 18:08

Вообще то да. правда я не знаю насколько устарел код
При обработке на мозиле выдает
Цитата:

function () { return window.screenLeft; }
почему он не обрабатывает данные как функцию, а просто выводит текст мне бы и хотелось узнать

Sweet 04.10.2011 18:11

Потому что
document.write(Geometry.getWindowX());

kent666 04.10.2011 18:19

да действительно.
Но теперь значение undefined

Snipe 04.10.2011 18:28

Цитата:

Сообщение от kent666 (Сообщение 129570)
да действительно.
Но теперь значение undefined

Да потому что вы пишите:
if (window.screenLeft === undefined) {
    Geometry.getWindowX = function() { return window.screenLeft; };
}


Если undefined, выведи мне его!!!

kent666 04.10.2011 18:32

спасибо. Все заработало)))


Часовой пояс GMT +3, время: 15:37.