| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: для новичков > Проблема с FireFox |
| Автор: SlePoY_SniPeR 9.7.2010, 21:55 | ||||
Пишу примитивный просмотр картинок на сайт. Исходник:
Ну и кусочек из HTML:
В Opera и IE всё прекрасно работает, в FireFox id передаётся каряво, не могу понять почему. Может кто-нибудь объяснить, что особенного такого в этом FF и как эту особенность учесть? Спасибо. |
| Автор: bars80080 10.7.2010, 11:18 |
| почему бы вот такие штуки document.links.item("prevurl") не заменить на более кошерные, которые ты тут же и используешь: document.getElementById("prevurl") links - вообще-то коллекция элементов (устарвешая), и её надо ещё указывать порядковый элемент links[0] но лучше вообще её не использовать |
| Автор: SlePoY_SniPeR 10.7.2010, 20:01 | ||
| bars80080, последовал вашему совету. Подправил. Всё работает, как и работало: в Opera и IE8 всё хорошо, а Mozilla с ума сходит. Так что проблема этим, к сожалению, не решена, но я приму к сведению то, что про links лучше начать забывать. Попробую подробнее описать проблему: как должно работать: (и как собственно работает в Opera и IE8) изображение в большом разрешении, под ним 2 ссылки: "предыдущая" и "следующая". По каждой кнопке соответственно происходит переключение на другое изображение. ID конкретной картинки передаётся в изменяемой ссылке (см пост №1). Так вот в выше перечисленных браузерах всё происходит как положено: при загрузке страницы загружена 1ая картинка из массива, ссылка "Предыдущая" спрятана, на ссылке "Следующая" значение href="javascript:NextImage(1)". При нажатии на ссылку появляется "Предыдущая" со значением тега а javascript:PrevImage(0) и href ссылки "Следующая" меняется на "javascript:NextImage(2)". Что происходит в FireFox: При загрузке страницы всё как положено, но при нажатии кнопки "Следующая" значения, передаваемые в функцию NextImage() и PrevImage() берутся откуда-то... свыше чтоли.. А именно:
Ну и далее "Предыдущая" будто бы стала "Следующей", а вот "Следующая" "Предыдущей не стала", так и остаётся параметр передаваемый = 1 ))))) В общем, мой мозг где-то далеко, помогите его вернуть... |
| Автор: bars80080 11.7.2010, 01:31 |
| ну, может быть, такой простой заменой чего-то не втыкается. самое простое было бы вообще избавиться от значения в функции и не менять атрибуты. просто ввести переменную, которой назначить значение равное порядковому номеру текущей картинки. жмём PrevImage(), вычитаем единицу, и запускаем функцию, которая показывает картинку с текущим номером. жмём NextImage, прибавляем единицу, и тоже запускаем функцию, которая показывает картинку с текущим номером. погасить ссылки в крайних положениях труда не составит. |
| Автор: SlePoY_SniPeR 11.7.2010, 11:56 |
| Так я и сделал. Во всех браузерах действительно всё заработало. Правда теперь появилась немного другая проблема, но она уже касается моей конкретной задачи, а не топика этого форума. bars80080, благодарю за помощь! |