![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
diam |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 348 Регистрация: 23.1.2005 Где: Екатеринбург Репутация: 6 Всего: 16 |
Вариант с обратной селекцией, предложенный Sardar'ом, здесь.
Работает в Gecko, Opera. В IE проблема: у задающих обратную селекцию DIV'ов sd1..sd4 при установке свойства
фактическая высота DIV'а не становится равной 0, поэтому выглядит отстойно. Вопрос, наверное, в вёрстку. Ещё до вечера буду экспериментировать. Если у кого-нибудь будут мысли, почему так происходит, выкладывайте. Добавлено @ 07:40
А в чём проблема? Сейчас же события не привязываются к document, только к слою owndiv. Если нужно несколько картинок, то сделать несколько слоёв, в которые запихать эти картинки (один слой на одну картинку ![]() ![]() Добавлено @ 07:46
Зачем? Координаты левой верхней точки картинки pp0 (ppx0, ppy0) объявлены в глобальном контексте кода и доступны откуда угодно внутри документа. Это сообщение отредактировал(а) diam - 28.10.2005, 07:41 |
||||||
|
|||||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Последний штрих: селекция должна появляться на картинки только в момент селектирования, т.е. нажатия кнопкой мыши
![]() Выставляй авторство/копирайты и в базу скриптов "Наши скрипты", хороший скрипт ![]() -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
diam |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 348 Регистрация: 23.1.2005 Где: Екатеринбург Репутация: 6 Всего: 16 |
Сейчас так и сделано. Единственный есть косяк, что если нажать на кнопку мыши на картинке, начать выделять, потом выйти за пределы слоя owndiv и отпустить клавишу мыши, тогда при возвращении на слой с картинкой при отпущенной клавише мыши выделение так же будет происходить. Что бы это исправить, можно отлавливать событие mouseup по всему document, но только если отпустим мышь за пределами окна браузера - опять получим двадцать пять. ![]() Или ты имеешь в виду, что бы до того, как мы стали выделять область картинки, последняя должна быть чистой? Тогда исправил.
Нужно ещё отладить, что бы в IE работало, хорошо откомментировать, а потом и в "Наши скрипты". Это сообщение отредактировал(а) diam - 28.10.2005, 12:56 |
||||
|
|||||
diam |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 348 Регистрация: 23.1.2005 Где: Екатеринбург Репутация: 6 Всего: 16 |
Ещё раз. Три варианта.
1 2 3 Вариант N1 Никаких графических выделений области картинки. Просто нажимаем на кнопку мыши на картинке, водим мышкой по картинке, потом отпускаем кнопку. Внизу смотрим координаты верхней левой точки выделяемой области, её ширину, высоту. Вариант N2 В дополнение к варианту N1 делает выделяемую область матовой. Вариант N3 Отличается от варианта N2 инверсным выделением. |
|||
|
||||
Гость_12345 |
|
|||
Unregistered |
diam: Чтобы в IE фактическая высота была равна 1, засунь в слой рисунок с высотой 1 без пробелов и переносов строк.
|
|||
|
||||
Guest |
|
|||
Unregistered |
Покрутил вариант 3 в IE, и виден баг при загрузке или рефреше страницы и первом выделении области - не отрисовывается нижний слой. С этим не стал разбираться - сподручнее автору.
Побороть "отстойность" показа в IE можно ещё без рисунка, а с .sd {font-size:0px; ... или 1px} . Но там всё равно слой на слой немного налезает, и надо вводить особые условия, думаю. |
|||
|
||||
Гость_12345 |
|
|||
Unregistered |
Забыл спросить - какой особый смысл в записи имени файла в виде "./имя_файла", а не просто "имя_файла"?
|
|||
|
||||
Гость_12345 |
|
|||
Unregistered |
||||
|
||||
chapchap |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 2.4.2006 Репутация: нет Всего: нет |
Выложите пожалуйста скрипты, хотел посмотреть примеры, а ссылки не открываются. :(
|
|||
|
||||
diam |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 348 Регистрация: 23.1.2005 Где: Екатеринбург Репутация: 6 Всего: 16 |
К сожалению, моя машина, на которой были примеры, умерла от старости, скрипты остались в каком-то виде в бакапах.
На следующей неделе выложу их, т.к. пока времени катастрофически не хватает. |
|||
|
||||
chapchap |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 2.4.2006 Репутация: нет Всего: нет |
Угу, заранее спасибо! Просто у самого ничего путного не получается (java к сожалению очень плохо знаю). Если javascript не получится, буду на чём-нибудь другом писать.
|
|||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |