| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Opera, FF + ondrag etc..... |
| Автор: Serge2k 10.7.2005, 21:44 | ||
Господа.... Помогите пожалуйста.... Нужно как то заставить работать скрипт... Это я так, сваял за минуту, чтоб отразить суть проблемы... Этот скрипт чудно работает в IE и не пашет в опере и FF.... Может объясните, как эту проблемку решить......Жду от Вас помощи и понимания...
|
| Автор: Aliance 10.7.2005, 23:50 | ||
Исправил код:
Проблема в том, что ты неверно (точнее верно, но только для событийной модели IE) определял сдвиг. Подробнее читай в прикрепленном топике «Все о событиях». Кстати, на будущее - разделяй код CSS от кода JS с соответствующей подсветкой. Добавлено @ 23:51 Написал это за 10 минут, не проверяя, т.к. иду спать. С утра проснусь - проверю. |
| Автор: Sardar 11.7.2005, 01:58 |
| Serge2k проблема в том, что ondrag и ещё куча других событий нигде кроме как ИЕ не существуют. Ловим по старинке onmousedown, onmouseup и onmousemove. |
| Автор: Serge2k 11.7.2005, 10:07 |
| Ну а то что эти события работают тока в IE, это ваще подстава.... очень обидно.... Но всем большое человеческое спасибо.... |
| Автор: Serge2k 11.7.2005, 10:56 |
| Мдя.... Но моих знаний JS и DOM для разбора данного скрипта явно не хватает.... |
| Автор: Aliance 11.7.2005, 11:41 |
| Нет, можно не только в ИЕ. Читай внимательнее пост Sardarа |
| Автор: Serge2k 11.7.2005, 12:34 |
| Aliance Пасиб, что не пожалел времени и написал мне этот скриптик.... Тока вот мои познания в DHTML пока достаточно скудны... Так что напиши пример с ипользованием этих ф-ций... а то я не совсем понимаю.... |
| Автор: Sardar 11.7.2005, 14:09 | ||
Простейший пример. Код находит все слои с классом fly и добавляет им обработчиков событий. Сами обработчики тоже простые. Вычисление координат это довольно кривая тема JS и долбанного наследия, поэтому что бы их правильно вычислить, смотри код Aliance.
Заменить div на img думаю сам сможешь |
| Автор: Serge2k 11.7.2005, 20:03 | ||
| Я уже замучался с этим глупым drag & drop.... Никогда раньше не думал, что в нет нормального стандарта для javascript... В одних браузерах работает.... в других нет.... ну что зща отврат... Sardar Твой например не работает в опере... написал такой вариант.... Так он не хочет работать в FF и ваще глючно работает... Книжку, где описывается вся эта лабуда, я толком найти не смог... В итоге наверное помучаюсь денек другой и поеду покупать книгу из списка, который у Вас на форуме есть... А вот что я написал... Подозреваю, что тут просто не учтены различия между браузерами...
|
| Автор: Guest 11.7.2005, 20:06 | ||
а твой код Aliance я просто запустить не могу, т.к. не понимаю, на какое какую ф-цию прилепить к какому событию... Да... кстати, Sardar а можно вот это:
заменить на что нить более короткое... просто у меня не обин объек надо будет двигать.... и если для каждого придется писать такую штуку, то.... |
| Автор: Serge2k 11.7.2005, 20:16 | ||
| Aliance на этом вылетает ошибка
|
| Автор: Aliance 11.7.2005, 23:29 |
| А HTML код картинки дай. |
| Автор: Sardar 12.7.2005, 01:53 | ||
Ты не совсем понял, тот код выбирает все слои и инициализирует те кто имеет аттрибут class="fly". Заменив DIV на IMG мы выберем все картинки на странице. Если элемент один, то выбери его по ID, затем установи ему все обработчики событий. Тогда цикл не нужен. А с координатами, просто Оперы под рукой не было. А вообще это больная тема в JS, нужно будет разово статью с кодом написать и в FAQ, а то самому иногда нужно |