marpa
  • 0
Новичок

Переключение отображения боковой панели

  • 0

Я разрабатываю тему WordPress, которая позволяет пользователям переключать видимость боковых панелей с помощью Javascript так же, как вики позволяют пользователям показывать или скрывать оглавление.

Когда пользователь щелкает ссылку, чтобы скрыть боковую панель, у меня есть функция переключения javascript toggle(), которая устанавливает видимость боковой панели на «нет», а также устанавливает файл cookie документа, чтобы в следующий раз, когда пользователи посещают эту страницу, боковая панель запомнить последнее состояние переключения.

У меня есть еще одна функция javascript setToggleFromCookie(), которая получает файл cookie и устанавливает видимость на основе этого файла cookie. Все это работает, кроме:

Если боковая панель скрыта (т. е. видимость боковой панели div = «none» и файл cookie документа hidesidebar = 1), при загрузке страницы боковая панель появляется на короткое время, прежде чем javascript переопределяет видимость = «block» с видимостью = «none»..»

Я поместил setToggleFromCookie() в jQuery(document).ready(function(), но страница по-прежнему загружается и отображает боковую панель ДО того, как setToggleFromCookie() прыгает, чтобы скрыть ее…

Share
  1. Эта ваша тема или код, который вы использовали, чтобы сделать то, что вы описали, доступны для скачивания где-нибудь? Звучит очень интересно, я бы с удовольствием посмотрел.

    • 0
  2. Хотя это раздражает, ваш плагин работает правильно. Сначала страница полностью визуализируется, показывая боковую панель, а затем активируется код JavaScript, чтобы скрыть боковую панель.

    Исправление для этого состоит в том, чтобы ваш PHP-код проверял/захватывал куки пользователя и соответствующим образом устанавливал статус боковой панели дисплея. Таким образом, когда страница отображается, изначально для нее будет установлено значение none, а затем любые будущие переключатели изображений могут динамически скрывать/показывать боковую панель.

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

    Надеюсь, это имеет смысл. Если вам нужны некоторые подробности, вы можете попробовать обновить свой вопрос с помощью кода.

    • 0

Оставить ответ

You must login to add an answer.