Изменить видимость DIV по ID из функции PHP

486
25 декабря 2016, 22:45

Здравствуйте, друзья! Пожалуйста, кому не лень, подскажите как изменить видимость блока по уникальному идентификатору. Я пытался решить разными подходами, изменять на месте стиль отображения, постить атрибут элементу по ай-ди, не получается. Может, из-за того, что куски в разных файлах.

//index.php
<div id="ar_home_page" class="page_content">
    <? include'includes/ar_home.php'; ?>
</div>
<div id="market_page" class="page_content" style="display:none">
    <? include'includes/market.php'; ?>
</div>
//includes/nav.php
<li><a href="#" onclick=" магия, изменяющая видимость блоков: #ar_home_page скрыть, а #market_page показать ">Магазин</a></li>

Спасибо за ответы! С уважением, Юра.

Answer 1

Мой совет: почитать про серверную часть кода, клиентскую. На момент, когда страница сгенерируется, серверный код, (пхп) уже отработает. Т.е. функция LoadMarket() отработает еще до клика по ссылке. Отсюда, необходимость реализовывать алгоритм приведенный в вопросе - отпадает. Резюмируя: все что мы пишем в серверном коде, в данном случае в php отработает еще ДО взаимодействия с пользователем. То есть с помощью php мы создаем страницу, как если бы мы написали ее "вручную", без использования сервера. Создаем на ней разметку, с каким-то функционалом и взаимодействием между элементами на клиентском уровне. То есть если мы в php хотим создать ссылку, по нажатию на которую нам бы вываливалось окошко с сообщением переменной, например равной Hello World, то использовали бы следующий код:

$someVar = 'Hello World';
echo "<a href='javascript:alert(\"$someVar\")'>Click me</a>"`.

Ввиду отсутствия смысла в этом, как такового, этими задачами должен заниматься клиент: <li><a href="#" onclick="$('div.page_content').toggle()">Магазин</a></li>

Либо, формируем странцу отталкиваясь от начальных параметров(в данном случае в запросе)

//php
$mode = $_GET('mode'); //Получаем параметр mode из ссылки
if($mode == 'market'){//проверяем его значение
    <?
        <div id="content_page" class="page_content">
            <? include'includes/market.php'; ?>
        </div>
    ?>
}else{
    <?
        <div id="content_page" class="page_content">
            <? include'includes/ar_home.php'; ?>
        </div>
    ?>

И получаем доступ к магазину из ссылки типа .../index.php?mode=market

READ ALSO
Как получить через wall.get (VK Api), посты за сегодня?

Как получить через wall.get (VK Api), посты за сегодня?

Как получить через wallget (VK Api), посты именно за сегодня?

835
Обращение к функции

Обращение к функции

Функция содержит конструкцию из нескольких строк echoСтроки будут выводится по 2, поэтому разделены на блоки

335
URL роутинг на PHP

URL роутинг на PHP

Начал разбираться в MVC PHP, после множества прочитанных статей и просмотренных видео уроков накатал каркас своего приложения(Сразу попрошу...

479