![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
froggy82 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 25.9.2006 Где: Архангельск Репутация: нет Всего: нет |
Итак, у меня есть проблемка, скрипт не работает в броузере FireFox, (дрожание картинки при наведении)...Но при открытии в IE все замечательно работает...
В страничке использую <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> Вот собственно сам код скрипта:
Помогите, наведите на путь истинный ![]() |
|||
|
||||
Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 11 Всего: 78 |
когда указываешь значение для (к примеру) shake.style.left то нужно еще в конце дописывать "px" а иначе мозилла не знает что это за числа.
-------------------- |
|||
|
||||
froggy82 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 25.9.2006 Где: Архангельск Репутация: нет Всего: нет |
Mymik, неа, перестал работать и в IE. Или не там расставил.... скажи где именно нужно ставить px?
|
|||
|
||||
Wolf1994 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
Точку с запятой ещё можно поставить в конце строк. И обращаться к элементам по id, а не имени, IMHO.
|
|||
|
||||
Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 11 Всего: 78 |
+1 А где ты у него увидел такое ??? ![]() froggy82, а где ты определяешь переменную shake ??? И currentStyle(19 строка твоего кода) работает только в IE ??? замени на style -------------------- |
|||
|
||||
Wolf1994 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
||||
|
||||
froggy82 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 25.9.2006 Где: Архангельск Репутация: нет Всего: нет |
Mymik,
Wolf1994, все равно не работает, при добавлении px, скрипт вообще не работает. |
|||
|
||||
Wolf1994 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
froggy82, прошу предоставить весь скрипт целиком, вместе с HTML-кодом.
|
|||
|
||||
Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 11 Всего: 78 |
froggy82, убери добавление строчки "px" и покажи код целиком. Или хотя бы покажи код ошибки в FF...
У меня вызывает подозрение строчка 19 (currentStyle) это свойство доступно только в IE в Gecko нужно обращаться к getComputerStyle. Если это не поможет, тогда надо смотреть весь код. Ну или хотя бы немного больше кода. -------------------- |
|||
|
||||
froggy82 |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 25.9.2006 Где: Архангельск Репутация: нет Всего: нет |
Mymik,
Wolf1994, Итак вот код страницы, где должен работать скрипт:
А вот сам сценарий java.js
|
||||
|
|||||
Wolf1994 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
Не уверен... Но я использую: this.id + document.getElementById ... Хотя, может, можно и так - по объекту...
|
|||
|
||||
Replicator |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 30.4.2006 Где: Outer Heaven Репутация: нет Всего: нет |
Проблема в том, что в Firefox'е при считывании значения shake.style.top мы получаем что-то вроде '10px', а не '10'. А строку '10px' нельзя отпарсить как целое, так как мешает 'px'. Ошибки в строках
Так что при помощи строковых функций или регулярных выражений убирайте с конца строку 'px' и оставшееся уже используйте как число. Ну и во вторых, используйте не 0, 10 и т.п., а как уже было сказано, '0px', '10px' и т.п. Это работает и в IE, и в Opera. --------------------
|
|||
|
||||
Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 11 Всего: 78 |
Replicator, parseInt нормально распарсивает значение (оно парситься до первого знака которое не есть число. Т.е. parseInt("10px") == 10, и parseInt("10px1") == 10)
froggy82, В твоем коде добавил в строки где изменяется значения style.top и т.д. добавление строки "px" и все начало работать
Без добавление "px" по какой-то причине значение не записывались в style.top и т.д. До добавления там хранились 0pt и после добавления там зранилось "0pt" почему... не знаю. После изменения в виде добавление "px" стало все работать. P.S. ставь alert'ы чтобы проверять почему не работает. Очень облегчишь свою работу Это сообщение отредактировал(а) Mymik - 24.4.2007, 18:40 -------------------- |
|||
|
||||
froggy82 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 25.9.2006 Где: Архангельск Репутация: нет Всего: нет |
![]() Про алерты обязательно запомню, вопросов будет намного меньше.... |
|||
|
||||
Wolf1994 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
Вставлю слово, напоследок
![]() |
|||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |