Intereting Posts
Создание файлов тем для плагина Постоянная ссылка: пользовательский тип сообщения и таможенная таксономия не работают post параметр 'name' 404 error Сервер Multisite move, предоставляющий цикл перенаправления Боковые столбы показывают текущую категорию также в одном сообщении Проверьте, есть ли сообщение в определенной категории, чтобы показать значок Как добавить пользовательский CSS для входа в систему и администратора? Принудительное использование SSL-входа, необходимо снова войти в систему из панели WP / BP-Admin Использовать проверку подлинности Google для страниц на веб-сайте Как перечислять события по годам и месяцам с помощью расширенных пользовательских полей? Получить список воспроизведения, встроенный в содержимое Post / Page Как заблокировать с дочерней темой определенные страницы? поддержка языков в пользовательской теме urdu Запуск цикла пользовательских типов сообщений с помощью AJAX Добавить действие для удаления комментариев?

Загрузите шаблон боковой панели только один раз, чтобы предотвратить несколько анимаций

У меня есть домашний шаблон с заголовком, нижним колонтитулом и левой боковой панелью.

<?php get_header(); ?> <div class="content"> <?php get_sidebar('left'); ?> <div class="middlebar"> this is the main content </div> </div> <?php get_footer(); ?> 

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

 <?php get_header(); ?> <div class="content"> <?php get_sidebar('left'); ?> <div class="middlebar"> pagecontent </div> <?php get_sidebar('right'); ?> </div> <?php get_footer(); ?> 

Я анимировал эту боковую панель, чтобы она скользила после загрузки страницы.

 jQuery(window).ready(function($){ $("#sidebarRight").animate({right: '0px'}); }); 

Моя проблема заключается в том, что анимация воспроизводится при каждом нажатии на одну из точек меню. Поэтому после щелчка по ссылке боковая панель исчезает, чтобы снова появиться снова. Я хочу, чтобы анимация воспроизводилась только один раз, когда пользователь покидает домашний шаблон и вводит шаблон страницы (нажав одну из точек меню), а не во время переключения между разными страницами.

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

Я также пытался установить файлы cookie, но это не сработало.

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

вы можете написать сценарий с условиями

 <?php is_front_page(){ ?> <script> jQuery(window).ready(function($){ $("#sidebarRight").animate({right: '0px'}); }); </script> <?php } ?> 

альтернативно, вы можете установить cookie или localstorage, чтобы анимация была завершена

 <script> if(!localStorage.getItem("animated")){ // check if the animated is set if not set do the animation jQuery(window).ready(function($){ jQuery("#sidebarRight").animate({right: '0px'}); localStorage.setItem("animated", "yes"); // after comleting the animation set the animated so that animation does not happen again }); } </script> 

Если вам нужен сайт с «состоянием», вам нужно будет разработать тему для создания своего рода «Одностраничного приложения», в котором браузер в принципе никогда не перезагружает страницы, а делает все обновления через AJAX.

Все остальное означает полную перезагрузку страницы, и в этом случае страница будет «мигать» в любом случае, поэтому не будет уверенности в ценности удаления анимации, но вы можете использовать cookie сеанса, чтобы сохранить значение, указывающее, что анимация была выполнена и проверьте его, прежде чем делать это снова.