![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Wolf1994 |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
Вот код:
Идея - не заморачиваться с переписью всех тайтлов, оставить их для поисковиков и перписать скриптом. В quickmode FF 2 скрипт прекрасно работает. Есть ли надежда сделать его кроссбраузерным и вписать в XHTML-compliance режим? |
||||
|
|||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
А в чём конкретно проблема? Скрипт работает везде, в standards-compilance режиме.
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
Переписать значения tg2 в нижнем регистре? В quirks mode, AFAIK, ничего не изменится, а в XHTML (кот. чувствителен к регистру) getElementsByTagName должен начать перечисленные теги ловить...
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
Да, совершенно верно - скрипт работает нормально, в финальной версии был баг... И всё же, не так как хотелось бы. При тесном соседстве элементов, происходит так, что тайтл остаётся на элементе, хотя курсор сдвинулся на следующую ссылку. Как этого можно избежать? Один тайтл не успевает отрабатывать до появления следующего. id'ы навесить на элементы, чтобы при инициализации нового tooltip'а корректно закрыть старый, обратившись к нему по идентификатору - не удаётся. Что делать в этой ситуации? Этот вопрос разрешим в рамках JavaScript?
Добавлено через 13 минут и 40 секунд Кажется, получилось
|
|||
|
||||
| AKS |
|
|||
|
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 27 Всего: 52 |
Wolf1994, взгляните:
Всплывающая подсказка (tooltip) с использованием DOM (статья) Исходник Возможно Вам пригодится... |
|||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
AKS, спасибо. Надеюсь, что нет. Прошу протестировать скрипт в IE и, если всё в порядке, предлагаю считать тему закрытой.
Тестируемый сайт: http://www.wolf-ware.ru/ - нужна оценка пользователей Internet Explorer. |
|||
|
||||
| AKS |
|
|||
|
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 27 Всего: 52 |
Зря, зря. Могли бы узнать кое-что полезное. Вот как-раз по "оценке пользователей Internet Explorer". В своей статье (ссылка выше) Александр пишет:
Это то, что Вы не учли в своем сценарии, а ведь Вы желали "вписать в XHTML-compliance режим"... Еще кое-что, самое очевидное. У Вас для каждого элемента с подсказками создается своя собственная функция, а в этом нет никакой необходимости... |
|||
|
||||
| Wolf1994 |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
AKS, то есть в IE скрипт не работает? Работает некорректно?
Можно ли это обойти, при "навешивании" обработчика на готовые ссылки? Добавлено через 5 минут и 26 секунд Подправил, сделав проверку на тайтл, до назначения функции:
|
||||
|
|||||
| AKS |
|
||||
|
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 27 Всего: 52 |
С нынешним типом документа работает.
Можно. Не создавайте на каждом "витке" цикла for новые функции-обработчики событий mouseover/mouseout. Создайте две именованных функции (также, как Вы создали функцию по имени tooltip). Тогда в цикле остануться строки, типа:
|
||||
|
|||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
AKS, спасибо, создал. Как теперь?
|
|||
|
||||
| AKS |
|
|||
|
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 27 Всего: 52 |
||||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
Как финальный вариант в IE 6/7?.. Больше переделывать не планирую.
|
|||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
Всё! Последний тест. Прошу сказать - как в IE отображается "подсказка" ссылки на "Subscribe", в правом-нижнем углу сайта.
|
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
У меня, к сожалению, вообще не отображается. Выкидывает ошибку в 411 строке.
И еще, плавающие надписи в шапке почему-то иногда заходят за край экрана, отчего появляется "скачущий" горизонтальный сколлинг. Надо бы их обернуть во что-нибудь с width: 100%; overflow: hidden; имхо... -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
SelenIT, sorry. В этот момент я ещё, возможно, тестировал скрипт. Как теперь?
...Для IE специфическим является этот фрагмент:
Если ошибка не исчезла, прошу подсказать - всё ли здесь в порядке? |
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
К сожалению, на данный момент не исчезла(. Но проблемы в приведенном коде не замечаю... Вечером, если будет время, попытаюсь вникнуть и разобраться... просто сейчас, сорри, цейтнот страшный.
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
SelenIT, спасибо!
Добавлено через 5 минут и 27 секунд Полный код [на всякий случай]:
|
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
Wolf1994, кажется, разобрался: скрипт в IE заходит в блок try, а поскольку несуществующие свойства при чтении дают не ошибку, а всего лишь undefined - этот блок "нормально" выполняется, но в итоге в xadd (а со второго раза - и в yadd) оказывается NaN. Придется делать ветвление не по try/catch, а обычным if/else, наверное...
И еще, зачем столько глобальных переменных? Вроде ж их почти все можно локализовать... -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| Wolf1994 |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
Сделал:
Как теперь?
Честно говоря, имею очень поверхностные знания JavaScript. Не уверен насчёт объявления переменных, решил, что продекларировав один раз можно сократить размер кода |
||||
|
|||||
| 12345c |
|
|||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
Если код, выложенный на демостранице, считается рабочим, то работы ещё много. IE6 совсем не показывает, кроме чёрточки, пересекающей цифры, а FF, если придвинуть правый край ближе, впадает в растерянность и быстро-быстро мигает подсказкой, ничего толком не показывая.
Добавлено через 8 минут и 14 секунд Ошибка втом, что не учитывается случай налезания мыши на подсказку. При этом происходит mouseout, которое не блокируется по mouseover на подсказке. Обычно делают после out задержку, которая отменяется, если произошло новое mouseover - на подсказке или на стартовом элементе. out с подсказки - то же самое. Тогда возможны и налезания мыши, и разрывы между элементами, когда прыгаешь с одного на другой, а подсказка не закрывается. (Та же техника в меню.) |
|||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
12345c, прошу уточнить. Я протестировал в FF 2.0.0.1 и Opera 9.10 - в обоих браузерах - "на ура", без нареканий. Вы смотрели адрес: http://www.wolf-ware.ru/ ?
|
|||
|
||||
| 12345c |
|
|||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
Я именно на нём смотрел в FF 2.0 и IE6 (Maxthon). Сейчас хотел скриншот для пояснения, но скрипт уже отключен.
|
|||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
Касательно IE - буду очень благодарен за скриншот. В данный момент скрипт работает и я обязуюсь его не трогать до тех пор, пока не получу снимок экрана.
|
|||
|
||||
| 12345c |
|
|||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
На IE смотреть нечего - подсказки нет. На FF показываю момент, который, наверное, обойдён вниманием. Я понимаю, что была попытка сдвинуть подсказку влево, если она заходит за край окна. Вот что вышло - подсказка очень быстро мигает. В динамике скриншот этого не показывает, а видно примерно вот что:
(грубо обрисовал то, что видно в динамике и место наведения мыши. Главное, чтобы край окна был близко) Добавлено через 2 минуты и 24 секунды (и ещё плывущие тексты из другого скрипта едут за край и создают полосу прокрутки внизу, об это уже упоминали) Присоединённый файл ( Кол-во скачиваний: 7 )
snap_copy.png 7,98 Kb |
|||
|
||||
| Wolf1994 |
|
||||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
Исправил. Thanks 2 SelenIT. Добавил overflow и на "подсказку" и не стал заморачиваться с шириной браузера. И, всё-таки, что не так с IE?
Добавлено через 1 минуту и 54 секунды
Может - здесь: "body.event"? |
||||||
|
|||||||
| 12345c |
|
|||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
не работает, потому что Вы запускаете его в Standards Mode, а для IE6 надо тогда вместо document.body писать document.documentElement - см. http://www.opera.com/docs/specs/doctype/ -
2-я ошибка - window.clientWidth - неправильный способ определения IE. Там есть и дальше ошибки, потому что отдельно запускаемый скрипт замещает подсказкой базовый текст. Я бы не стал править, а написал бы своё на строчек 8-15. Кстати, подобные примеры у меня есть на странице http://js2.ru/example/JsPrimeryCode-46.htm . Это сообщение отредактировал(а) 12345c - 3.3.2008, 11:41 -------------------- Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go |
|||
|
||||
| 12345c |
|
|||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
Разобрался, что там не работало - не так понял идею сначала. Надо написать вначале
Но хочу сказать, что идея - не очень. Подсказка привязана к точке события мыши. С какой границы её подвели, там появится. Это довольно некрасиво, потому что создаёт ощущение случайности точки появления, непредсказуемость. Привязывать надо или строго к движению мыши, или к элементу документа. Рацпредложение: делать расстановку подсказок по классу и по имени в атрибуте name. Те, у которых name задействовано, будут обслуживаться по классу. Класс, правда, дольше будет работать, поэтому его надо избегать. |
|||
|
||||
| Wolf1994 |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
Исправил. Определение браузера возложил на сервер. "Моды" учёл.
"CSS" прописан в файле стилей...
Добавлено через 1 минуту и 13 секунд Как теперь? |
||||
|
|||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
Есть ли результат? Пользователи IE, отзовитесь!
|
|||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
Вопрос по прежнему не решён.
|
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
Wolf1994, с подсказкой уже, на мой взгляд, все в порядке. А вот с уплывающими за край span-ами и скачками скроллинга из-за них проблема осталась, к сожалению. Особенно оно заметно, если уменьшить окно. Говоря про overflow:hidden, я имел в виду ставить его на на сами span-ы (там-то от него никакого эффекта), а их все положить в контейнер (div) со стилем наподобие такого: width: 100%; height: 80px; margin-bottom: -80px; overflow: hidden;. Тогда сами span-ы могут сколько угодно уходить за экран (это даже интересно), но скроллинга не будет - все, что шире окна, просто обрежется.
Что имеет смысл задать самим span-am-"привидениям" - это white-space: nowrap;, чтоб они в IE не "ломались" от "удара" о правую границу окна (в надписях из двух слов второе слово не переносилось в этот момент вниз). -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 4 Всего: 29 |
SelenIT, большое спасибо за помощь!
"Призрачные" кейворды обернул в div с абсолютным позиционированием - простой div - растягивался. Переходя в оффтоп, всё ли сейчас в порядке с "шапкой" сайта? |
|||
|
||||
| 12345c |
|
|||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
Да, теперь показывает.
|
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |