Опубликовано в jQuery
В этой статье расскажу о новом JQuery плагине, который был обнаружен, подробно называется он Magic Layout. У этого плагина только одна задача, это оживлять блоки на веб-странице. Вы можете увидеть возможности плагина на демонстрационной странице. Прочитав эту статью, вы увидите как автор описывает процесс создания этого примера.
DEMO
Шаг-1
Подключения необходимых файлов и библиотек.
Прежде всего, нам необходимо подключить файл animate.css в раздел заголовка.
Этот файл описывает правила CSS для плагина анимации.
После этого, мы также должны подключить несколько дополнительных JS файлов:
1) Библиотека jQuery (jquery.js)
2) Сам плагин (magicLayout.js)
3) Файл инициализации (main.js)
В результате должен получиться следующий код:
КОД
Шаг-2
HTML разметка
В этой статье расскажу о новом JQuery плагине, который был обнаружен, называется он Magic Layout. У этого плагина только одна задача, это оживлять блоки на веб-странице. Вы можете увидеть возможности плагина на демонстрационной странице. Прочитав эту статью, вы увидите как автор описывает процесс создания этого примера. Шаг-1 Подключения необходимых файлов и библиотек. Прежде всего, нам необходимо подключить файл animate.css в раздел заголовка. Этот файл описывает правила CSS для плагина анимации.
После этого, мы также должны подключить несколько дополнительных JS файлов: 1) Библиотека jQuery (jquery.js)
2) Сам плагин (magicLayout.js)
3) Файл инициализации (main.js)
В результате должен получиться следующий код:
Шаг-2 HTML разметка
Вы должны добавить класс layer для всех элементов на странице которые хотите анимировать.
Также вы можете настроить параметры по умолчанию, используя data атрибуты: data-show-effect (надо указать имя эффекта) и data-show-delay (установить задержку анимации).
Ниже приведен пример:
Magic Layout JQuery plugin by which you can animate all the elements on the page
Download
После раздела заголовка переходим к созданию раздела основного содержания.
KEY FEATURES
Why it is useful
CSS3 Animations
The plugin use the best browser features when available (CSS3 transition and transform, GPU acceleration)
Includes LESS and SASS
The plug-in supports modern preprocessors of LESS and SASS
Support mobile devices
The plug-in is well optimized under mobile devices. Animations work clean and smoothly
EASY TO USE & CUSTOMIZE
Modern preloader is easy to use and customize
Support modern browsers and platform
IE 10+, Opera, Google Chrome, Firefox, Yandex Browser, Safari, Androind, iOS
Documentation
Extensive step-by-step guide to help you with usage and customization.
More my plugins
WebGl, Jquery, PureJS, AngularJS, pureCSS, Material Design, Bootstrap Animated alert showmore Layered modal for Bootstrap3 showmore WebGL Generator of Models showmore Layered Responsive Modal Window showmore Responsive Framework showmore 3D Panoramas showmore Hovers Effects showmore Material Responsive Table showmore Material Design for Bootstrap 3 showmore
Плагин имеет 36 различных CSS эффектов, с полным списком которых вы сможете ознакомиться в документации плагина.
Шаг-3
Инициализация плагина
Мы будем инициализировать плагин несколько раз.
Первый раз, когда пользователь загружает нашу страницу для просмотра, в этот момент мы вызываем scrollEvent.init()функцию.
Здесь мы инициализируем плагин через magicLayout функцию. Первый аргумент является контейнер – текущий активный экран.
В нашем случае это #display-one.
Во время прокрутки страницы нам надо установить активную функцию отображения, для того чтобы сделать это, мы добавляем обработчик событий для scroll и вызываем функцию scrollEvent.setActiveDisplay().
Он рассчитывает scrollTop, а затем используя scrollEvent.getActiveDisplay() мы находим активный экран. Затем определяем время, когда мы должны инициализировать плагин. Это мы сделаем когда пользователь прокручивает как минимум половину экрана.
Для ‘container’ мы выбираем значение следующего блока относительно текущему.
Таким образом, когда посетитель прокручивает половину экрана, мы можем видеть анимированные элементы в следующей части экрана.
Спойлер
(function($){ var body = $("body"); var scrollEvent = { displays: $(".display_js"), init: function(){ var display_active = scrollEvent.getActiveDisplay(); $(this).magicLayout({ container: display_active }); scrollEvent.sedtBodyId(display_active); $(document).on('scroll', function(){ scrollEvent.setActiveDisplay(); }); }, getActiveDisplay: function(){ var window_top = $(window).scrollTop(), offsetTop, display_active, cache; display_active = scrollEvent.displays.filter(function(index, element){ cache = $(element); offsetTop = cache.offset().top; return window_top >= offsetTop && window_top < offsetTop + cache.outerHeight(); }); return display_active; }, setActiveDisplay: function(){ var window_top = $(window).scrollTop(), display_active = scrollEvent.getActiveDisplay(); if(window_top > display_active.offset().top + display_active.outerHeight() / 2){ $(this).magicLayout({ container: display_active.next() }); $(this).magicLayout({ container: display_active }); } if(!display_active.hasClass("display_active")){ scrollEvent.sedtBodyId(display_active); display_active.addClass("display_active").siblings(".display_js").removeClass("display_active"); $('[data-scroll-nav=' + scrollEvent.displays.index(display_active) + ']').addClass("nav__link_active").siblings().removeClass("nav__link_active"); } }, sedtBodyId: function(display_active){ body.attr("id", display_active.attr('id') + "_active"); }, scroll: function(element){ var display_id = element.attr('data-id-section'), display_active = $('#' + display_id), position = display_active.offset().top; $(this).addClass("nav__link_active").siblings().removeClass("nav__link_active"); $("html, body").animate({scrollTop: position}, 1200); body.removeClass("nav-panel_active"); scrollEvent.sedtBodyId(display_active); if(!display_active.hasClass("active_container")){ $(this).magicLayout({ container: display_active }); } } }; scrollEvent.init(); $("#action_button").on('click', function(){ location.reload(); }); })(jQuery);
В этой статье мы рассмотрели плагин, который поможет вам создать оригинальную веб-страницу.
Плагин доступен на https://github.com/melnik909/magic_layout
Студия дизайна интерьеров ДекАрт decartdesign.ru/index.shtml поможет реализовать самые смелые проекты в современном ремонте, вашей квартиры или загородного дома.