Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   HTML/DHTML/CSS/JS/VB (http://www.flasher.ru/forum/forumdisplay.php?f=66)
-   -   передача серверу свойств объекта (http://www.flasher.ru/forum/showthread.php?t=68435)

AlexHog 27.08.2005 16:10

передача серверу свойств объекта
 
Добрый день.
Мне нужно передать координаты объекта в виде переменных скрипту-обработчику; как это сделать? Пробую использовать форму для проверки, проходит ли обращение к свойствам объекта вне тега <script>:

Код:

<img id="new" src="d:\DHTML\romb.gif" style="position:absolute; top:100;
left:150; display: none"></img>
<form action=test_posit_1.php method=post>
X-offset: <input type=text value="document.getElementById('new').style.Left"
 name=x><br>
Y-offset: <input type=text value=30 name=y><br>
<input type=submit name=send value="Отправить">
</form>

В первое поле ввода идет строка целиком, вместо ее значения.
Также пробую присвоить значение переменной внутри тега <script>:

Код:

<img id="new" src="d:\DHTML\romb.gif" style="position:absolute; top:100;
left:150; display: none"></img>
<script>
function test()
{
x = document.getElementById("new").style.Left;
alert(x);
}
document.onclick=test;
</script>

Диалоговое окно вместо числа выдает undefined... Почему значение не ловится, как сделать это правильно?

KidsKilla 28.08.2005 21:09

.offsetTop
.offsetLeft
=)))

AlexHog 28.08.2005 23:46

пробовал, бестолку...

KidsKilla 29.08.2005 00:25

Код HTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
        <title>Untitled</title>

</head>
<body>

<div style="padding: 3em;"><div style="margin:30ex;"><nobr>текст <span id="new">s</span></nobr></div></div>
<script>
function getTop(el){
        var of = el.offsetTop;
        while(el.offsetParent){
                el = el.offsetParent;
                of += el.offsetTop;
        }
        return of;
}
function getLeft(el){
        var of = el.offsetLeft;
        while(el.offsetParent){
                el = el.offsetParent;
                of += el.offsetLeft;
        }
        return of;
}
alert(["> ",getTop(document.getElementById("new")), getLeft(document.getElementById("new"))]);
</script>
</body>
</html>


AlexHog 30.08.2005 17:59

Спасибо большое, разобрался :)

AlexHog 01.09.2005 18:41

Сорри, побеспокою еще раз.
Как обратиться к элементу по его координатам? По id знаю -
Код:

document.getElementById("log").style.display="none";
а, скажем,
Код:

document.getElementByOffsetLeft("60").style.display="none";
или
document.getElementByStyleOffsetLeft("60").style.display="none";

- такое не идет... Да и все равно обе координаты надо...

KidsKilla 01.09.2005 20:22

никак.
на 1м пикселе у тя может находиться дочерта объектов. (вспомни z-index)

придумай что-то другое. или сформулируй задачу сюда, что-то придумается.

AlexHog 02.09.2005 07:45

Задача следующая: есть лабиринт, по которому движется точка. Наверно, правильней было бы реализовать его через image maps, но с ними я пока не умею.. таблицы тоже не работают, оставляя между верхней и нижней границами ячеек и картинкой эл-та отступы в неск.пикселов, которые не удалось убрать. Поэтому лабиринт сделан обычным абс.позиционированием эл-тов поверх черного фона.

Проверка шага осуществляется так: в скрипт-обработчик загнана трехмерная матрица, текущие координаты точки плюс направление шага - если стенки нет, координаты точки изменяются и карта лабиринта рисуется заново, вместе с новым положением точки.

По задумке, не пройденные участки лабиринта имеют display: none; когда точка на них приходит, картинка должна показаться. Я планирую создать массив, в который будут загоняться id пройденных участков, и извлекаться при ежеходовом обновлении лаба. Здесь обращение к ним будет по id. Но при добавлении в массив нового эл-та, он будет сообщаться скрипту как элемент с координатами, совпадающими с текущими координатами точки...

Надеюсь, изложил внятно )

AlexHog 04.09.2005 15:59

вопрос снят, обошел проблему с другого конца :)


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

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.