За последние 24 часа нас посетили 17643 программиста и 1655 роботов. Сейчас ищут 950 программистов ...

Google Chrome и свойство display на jquery

Тема в разделе "JavaScript и AJAX", создана пользователем Denis.Y, 27 дек 2011.

  1. Denis.Y

    Denis.Y Активный пользователь

    С нами с:
    8 авг 2011
    Сообщения:
    145
    Симпатии:
    0
    Адрес:
    Россия, Самарская область
    Google Chrome 16.0.912.63 m

    Ситуация следующая.
    Кнопка онлайн консультанта фиксом установлена в правую часть экрана. При её нажатии срабатывает .toggle() вложенного скрытого DIV'a, который его показывает. При повторном нажатии на кнопку, DIV скрывается.
    Событие повешено на .live('click', function () {}); (пробовалось и .click() и .bind()) результат везде одинаков.

    Форма выезжает один раз и скрывается (при этом перед полным исчезновением на мгновение, еле заметно выскакивает полностью и пропадает), при повторных нажатиях событие срабатывает, функция отрабатывает возложенные на неё обязанности, однако див не появляется, хотя в свойствах он - видим.
    Все остальные браузеры, включая ИЕ 7+ обрабатывают корректно.

    Изначально в консоли выводилась ошибка, однако гугл подсказал что это ошибка старой версии jquery. Обновление версии помогло избавиться от ошибки в консоли, всё действительно срабатывает, однако див по-прежнему не появляется в видимой части экрана.

    Линк на сайт привести не могу, к сожалению. Сайт не мой, но ситуация любопытная.
    Сталкивался ли кто с подобной проблемой?
     
  2. Михаил

    Михаил Активный пользователь

    С нами с:
    12 июл 2009
    Сообщения:
    545
    Симпатии:
    0
    Адрес:
    Bielarus
    а вы не могли бы сделать подобное на http://jsfiddle.net/ так как понять что конкретно не совсем ясно
     
  3. Denis.Y

    Denis.Y Активный пользователь

    С нами с:
    8 авг 2011
    Сообщения:
    145
    Симпатии:
    0
    Адрес:
    Россия, Самарская область
    Как оказалось, ошибка затаилась в css стилях. Каким-то волшебным образом (под конец рабочего дня любой такой образ - волшебный) DIV описаный мною выше, наследовал неприсущие ему свойства, что действительно было достаточно удивительно. Инспекцию кода проводить не очень хотелось, потому что сторонняя фирма занималась созданием сайта, нам же нужно было прикрутить форму обратной связи. Поэтому перед изменением свойств, просто используется .removeAttr('style'); чтобы почистить всё что есть в стиле объекта и только потом, происходит модификация.

    Проблема разрешилась) А появилась лишь из-за усталости и невнимательности к концу рабочего дня.