Вход

Просмотр полной версии : не работает метод


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
да действительно.
Но теперь значение undefined

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

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

kent666
04.10.2011, 18:32
спасибо. Все заработало)))