![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Lance |
|
||||
|
Unregistered |
Задача состоит в том, чтобы при наведении курсором мыши на слой div он передвигался. Я не пойму, что у меня не так. Я отслеживаю координаты мышиной стрелки, и если ее координаты совпадают с координатами слоя, то он двигается (то есть его (слоиные) координаты меняются). Это все я записал в функцию, а ее поставил на событие onMouseMove.
Вот оригинальный код. Подскажите, пожалуйста, что я делаю не так.
И еще. Раз уж пишу. Помогите вылечить. Скопируйте код, запустите, там станет все понятно.
Заранее благодарю. |
||||
|
|||||
| batigoal |
|
||||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 1 Всего: 151 |
Насчет второго - лечится заменой
на
Насчет первого - ждем кого поумнее -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
||||
|
|||||
| Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
2Lance:
Попробуй это:
а в твоём примере были такие ошибки: 1) оператор while -- надо if 2) в условии, вместо одного & нужно два && 3) зачем по 100 раз обращаться к document.getElementById(), когда можно один раз записать результат в переменную и в дальнейшем юзать эту переменную 4) style.left и style.top имеют строковый тип, поэтому нужно сначала преобразовать в цифирь, а потом уже манипулировать этими свойствами Это сообщение отредактировал(а) Ciber SLasH - 5.6.2005, 00:31 |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
А если ещё понять что конкретно нужно, то наверное решим ловить mousemove на самом квадаратике а не на всём документе
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
||||
|
||||
| Guest |
|
||||||||
|
Unregistered |
2Lamer George
А я эту проблему решил так. Я не
использовал, а вот так:
Помудреней немного, но тоже работает 2Ciber SLasH Большое спасибо за такой подробный ответ. Все работает, все свои ошибки я осознал.
Вот так:
? Чтобы со скобками не париться. Ну и опять же все тот же вопрос: обязательно две штуки & ставить? Я писал одну и все работало. Ну и последний вопрос у меня на сегодня. Что такое в JavaScript "?" (знак вопроса)? Что он заменяет и как им пользоваться? Кажется, там что-то с if'ами связано. Подскажите. |
||||||||
|
|||||||||
| batigoal |
|
||||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 1 Всего: 151 |
Если не ошибаюсь, в JS, как и в Java, есть тернарный оператор проверки условия. Пример:
Соответственно, если y>0, то х получит значение 1, иначе - ноль. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
||||
|
|||||
| Aliance |
|
||||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Lamer George все правельно сказал, немного по-понятнее объясню
Кстати, этот оператор называется “ ? : ” |
||||
|
|||||
| Ciber SLasH |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
&& - Логический оператор AND. Этот оператор проверяет два Boolean выражения на истинность. & - Поразрядный оператор AND. Этот оператор выполняет бинарную математику на двух операндах (на их двоичных значениях).
Можно их не ставить в данном случае, просто мне так удобно (со скобками). |
||||
|
|||||
| Aliance |
|
||||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Немного раскрою пошире:
Если быть точным, то этот оператор проверяет левый операнд, если тот равен (или может быть преобразован) false - то оператор возвращает его значение, в противном случае значение правого операнда.
А этот оператор сравнивает два операнда по каждому биту. Бит результата равен 1, только если равны 1 соответствующие биты обоих операндов. |
||||
|
|||||
| Sardar |
|
||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Так лучше не делать, это всё равно что забивать гвозди цифровой камерой По логическому складыванию верно описал Aliance, очень удобный оборот:
Если второй аргумент не задан, то берём значение по дефолту. Хорошо бы взять учебник, всего 2 часа времени займёт -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||
|
|||||
| Lance |
|
|||
|
Unregistered |
Уф, я даже и не ожидал такого потока ответов и так быстро. Надо этот форум в Favorites кинуть.
Всем большое спасибо за столь исчерпывающие ответы. Теперь буду пользоваться оператором "? :" |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Ради вам помочь. Привыкайте, у нас всегда так - быстро и качественно
Не забывайте регистрироваться |
|||
|
||||
| Lance |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 6.6.2005 Репутация: нет Всего: нет |
Следующий вопрос может показаться глупым: как сделать проверку на тип и версию браузера. Итак, код
якобы демонстрирует проверку браузера (надеюсь, в этой части я все правильно сделал), но тут всплывают две проблемы:
Заранее благодарю. |
|||
|
||||
| Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
Проверка на IE5+
|
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Lance
Тему закрываю. Прочти правила форума: Модератор: Пожалуйста, один топик - один вопрос. |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |