Sign in to follow this  
Serg@NT

jQuery dialog смещается вверх за границы экрана

Recommended Posts

Всем привет.

Помогите, плз, решить проблему.

Разрабатываю второстепенные модальные окна на сайте. Использую jQuery.dialog. Внутрь вставил iframe, где и открываю страничку.

<div class="modal"><iframe id="wndw_modal" src="/page_loading.htm"></iframe></div>
$("#wndw_modal").dialog({ modal: true, buttons: {}, draggable: false, resizable: false, width: '80%', dialogClass: "uiModal", open: function(event, ui) {   $(this).attr("src", url);  }, close: function(event, ui) { $(this).attr("src", "/page_loading.htm"); }});

Собственно проблема. Если в главной странице с прокруткой открываю второстепенное окно, прокручиваю его вниз и нажимаю там ссылку для перехода на другую страницу, ФФ и Опера нормально открывают новую страницу, а в Хроме и ИЕ модальное окно прыгает вверх за границы экрана. Кто с этим сталкивался, как исправить?

 

http://screencast.com/t/Z0clVtCotZe

 

ЗЫ: переходить на другие плагины не вариант, там проблем ещё больше. А это почти готово за исключением вот этого косяка :(

Share this post


Link to post
Share on other sites

Может, стоит сперва закрыть прошлое окно, а потом новое открывать?

Share this post


Link to post
Share on other sites

Дело в том, что ссылка - это просто URL. Переход происходит внутри iframe. Только с какой-то стати Хром, пытаясь после перехода вернуть страничку на то же место, прокручивает как контент внутри iframe, так и контент основной страницы.

 

 

UPD:

Более-менее решил. Сохраняю scrollTop() окна при открытии диалога, затем при загрузке фрейма устанавливаю scrollTop окна в сохранённое ранее значение. Диалоговое окошко всё равно "подпрыгивает", но хотя бы возвращается в исходное положение, и фокус не теряется.

:dash:

Edited by Serg@NT

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Member Statistics

    46,434
    Total Members
    3,128
    Most Online
    Sterben
    Newest Member
    Sterben
    Joined
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Спрашивают сейчас

  • Пишут сейчас

    • Если свойства нет в спецификации, то откуда его возьмет браузер? Даже если в каком то одном из браузеров введут это свойство то смысла его использовать все-равно не будет, так как в остальных оно работать не будет 🙂   Тогда бардак творился, DHTML, разные объектные модели и все дела. У netscape действительно была такая фича. Хотя не факт что она работала. Вот тут https://www.uv.es/jordi/v3/html/dynhtml/dynamic.pdf можно увидеть что float:center; присутствует в коде, но следом написано что элементы можно выровнять с помощью float слева или справа, или с помощью js по центру. Также в книге указаны допустимые значения для float - left, right, none. Так что это скорее всего была запланированная возможность, которая не получила реализации.
    • Если бы с html и css, все браузеры строго соответствовали спецификациям) Да статье около десятка лет, а то и более. Вот я тоже склоняюсь к тому, что это ошибка. но эта лекция была написана даже с учётом ещё живого на тот момент netscape navigator. Может быть он позволял интерпретировать такую конструкцию. В описании автор указывает, что так блок становится обтекаемым с двух сторон.
    • Может с clear путаете? Или в статье спутали. Наверно, древняя?
      http://htmlbook.ru/css/clear
  • Popular Contributors