Не часто но все же приходиться создавать сайты с наложениям страниц, а именно вывода другой страницы в модальном окне, это достаточно практичный ход, ведь позволяет удержать посетителя на сайте, не перекидывая его на другую страничку. Вывести так страницы могут и простые фреймы, но они достаточно просто выглядят. Но если вам необходимо скрасить данные окна. Тогда вам придет на помощь небольшой плагин jquery, который благодаря своей гибкости, позволит реализовать ваши пожелания в данном направлении.

Для данной функции существуют множество различных плагинов, но мы отдали предпочтения именно этому. Данный плагин обладает рядом преимуществ, а именно:

  • Маленький размер — создан специально для отображения страниц, а не картинок;
  • Не имеет интерфейса, по этому страница будет отображаться в обычном окне;
  • Страница имеет возможность закрытия и отправки сообщения с модального окна;
  • Может использовать кэш для ускорения загрузки страницы;

Основная идея состоит в том, что при нажатии на ссылокнку или кнопки, плагин, FrameWarp, определит координаты этого элемента и вызывает анимацию CSS всплывающего прямоугольника в центре страницы. Плагин будет загружаться при помощи JS Iframe и ссылаться на урлу, который мы указали.

Возможности плагина

Теперь необходимо написать сам плагин. нам необходимо добавить наш код в скрытую функцию так, чтобы он был недоступен для остальной части страницы. В действительности все переменные и вспомогательные функции доступны только для этого плагина.

framewarp.js

Данный плагин создает div с классом frameCacheDiv, для добавления js iframe, который мы добавим к странице. Еще два div будут добавлены к странице с помощью плагина – .popup и .popupBG, которые мы рассмотрим немного позже. Теперь давайте рассмотрим вспомогательные функции.

Но следует заметить, что во всех современных браузерах реализована защиты которая называется: “same origin policy”, которая устанавливает ограничение веб-сайту для получения доступу к функции DOM другого сайта. По этой причине, у нас есть вспомогательная функция, которая сравнивает адрес js iFrame с адресом текущей страницы. Только когда и домен и соответствие протокола определенны, мы получим доступ к DOM iframe и добавим API методы для отправки сообщений и скрывался. На конечном этапе плагин frameWarp будет выглядеть так.

Как уже заметили ранее, для начала мы используем jQuery, чтобы улучшить функцию jQuery animate(), которая поддерживает CSS анимацию.

Использование плагина

После того как вы подключили, страница должна его инициализировать, к примеру мы используем данный код в демонстрации.

Вот и все. Готово!

Материал взят из зарубежного источника. И представлен исключительно в ознакомительных целях.

Читайте также: