Форум: "Прочее";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];
ВнизВопрос по HTML про <img ismap> и javascript Найти похожие ветки
← →
vidiv © (2006-08-15 11:32) [0]Как получить координаты который браузер приписывает к ссылке, не отправляя запрос на сервер в javascript.
Например такой код:<html>
<body>
...
<a href="targer.php">
<img ismap="ismap" width="400" height="400" onmousemove="handler();" />
</a>
<script language="javascript" type="text/javascript">
function handler() {
...
}
</script>
...
</body>
</html>
как в теле функции handler получить эти самые координаты, именно те которые браузер припишет в случае клика?
ps
я лишее убрал, но имеется ввиду спецификация XHTML 1.0 Transitional.
← →
McSimm © (2006-08-15 11:36) [1]получить в js координаты клика по img можно с помощью расчетов, но не с помощью ismap.
← →
McSimm © (2006-08-15 11:38) [2]event.offsetX (Y)
← →
vidiv © (2006-08-15 11:43) [3]
> McSimm © (15.08.06 11:36) [1]
> получить в js координаты клика по img можно с помощью расчетов,
> но не с помощью ismap.
хорошо, раскрою проблему шире...
на самом деле в этом IMGe прозрачная картинка, но в фоне (созданным с помощью стилей backgroud) есть другая...
идея в том, чтобы пользователь визуально разместил одну картинку в другой. используя ismap можно таким образом упростить задачу. Пользователь просто кликает в прозрачную картинку и тем самым выбирает место + к этому мне хочется чтобы в фоне этой прозрачной картинки в след за мышью перемещалось изображение (то которое нужно разместить).
Вот и хочу упростить задачу... не расчитывать еще раз, а просто обработать те данные, которые браузер дописал к ссылке.
← →
vidiv © (2006-08-15 11:44) [4]разумеется надо чтобы все это работало в 3 самых популярных браузерах:
IE, FireFox, Opera
← →
McSimm © (2006-08-15 11:50) [5]ismap тут не помошник.
во-первых этих данных нет у JS, во вторых для отрисовки вероятно понадобятся абсолютные координаты, а их надо расчитывать циклически по контейнерам.
← →
vidiv © (2006-08-15 11:55) [6]
> во-первых этих данных нет у JS, во вторых для отрисовки
> вероятно понадобятся абсолютные координаты, а их надо расчитывать
> циклически по контейнерам.
чтото вроде:
obj = document.getElementById("img_id");
x = obj.clientX;
while(obj.parent) {
obj = obj.parent;
x+=obj.clientX;
}
а потом с eventа получать абсолютные координаты и вычитать?
← →
McSimm © (2006-08-15 12:00) [7]Наверное да, что-то вроде этого. С учетом отличий IE / Mozilla
кажется надо использовать offsetParent,
под рукой нет наработок и нет времени для проверки :)
← →
McSimm © (2006-08-15 12:04) [8]вот моя функция, возвращает координаты объекта относительно страницы
function pageXY(obj) {
var ret = {x:0,y:0}
for (var o=obj; o; o=o.offsetParent) {
ret.x += o.offsetLeft
ret.y += o.offsetTop
}
return ret
}
← →
vidiv © (2006-08-15 12:34) [9]
> McSimm © (15.08.06 12:04) [8]
благодарю :)
Задача облегчилась немного и я ее выполнил примерно так:<script language="javascript" type="text/javascript">
var addimg_ = document.getElementById("addimg");
addimg_.onmousemove = addmove;
function addmove(Event) {
if (window.event) Event = window.event;
addimg_.style.backgroundPosition=
((Event.layerX?Event.layerX:Event.offsetX) - 131/2) + "px "+
((Event.layerY?Event.layerY:Event.offsetY) - 98/2) + "px";
}
</script>
addimg - это моя прозрачная картинка.
Задача облегчилась в том, что эта самая картинка распологается абсолютно: style="position:absolute"
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.036 c