так ссылка та _https://lik-astana.kz/poligrafiya/papki/papki-dlya-diplomnykh-rabot.html
|
Тоже самое, или вам видео с экрана снять?
Если вы пытаетесь сделать js-кодом, что вам показали, то даже и не пытайтесь, и без попыток ясно, что работать будет не правильно. Сервер формирует данные для блока с классом cf_wrapp_all, в котором находятся все списки. В них имеются кнопки которым формируются ID как "cfhead_custom_f_6_189" и т.п., кука при этом будет иметь тоже имя, но без "cfhead_". Вот эти куки, которые можно взять из формирующихся ID для кнопок списков, и нужно проверять. И действовать как описано выше: if ( !isset($_COOKIE['name_1']) && !isset($_COOKIE['name_2']) && !isset($_COOKIE['name_3']) ) { setcookie('name_1', 'hide', 0, '/', '.' . $_SERVER["SERVER_NAME"]); setcookie('name_2', 'hide', 0, '/', '.' . $_SERVER["SERVER_NAME"]); setcookie('name_3', 'hide', 0, '/', '.' . $_SERVER["SERVER_NAME"]); } где name_1, name_2, name_3 - имена кук для всех формирующихся списков. Заметьте, что куки сессионные. Если используется CMS, то просто вписать код в контроллер формирующий эти страницы нельзя. Например, если это opencart, то добавлять его надо через модификатор. Если иная, то согласно ее требованиям. В противном случае при обновлении или установке какого либо модуля, который может затрагивать этот контроллер, вставленный код может быть утерян. |
В модуле этот код выглядит так
<?php if(isset($filter_headers_array[$key])): if(isset($expanded_state[$key])){ if($expanded_state[$key]==1)$state='show'; else $state='hide'; }else $state='show'; ?> При просмотре echo '<pre>' ; print_r($filter_headers_array) ; echo '</pre>' ; Отдает Код:
Array |
Значит нужно выполнить:
//если не было выбора пользователя, скрываем списки if ( !array_intersect_key ( $_COOKIE, $filter_headers_array ) ) foreach(array_keys($filter_headers_array) as $cookie) setcookie ($cookie, 'hide', 0, '/', '.' . $_SERVER["SERVER_NAME"]); |
Сейчас код выполняется _https://lik-astana.kz/poligrafiya/papki/papki-dlya-diplomnykh-rabot.html
|
Нет, ну неужели вы не видите этого? Причем это происходит ужасно - сначала показывается раскрытый список, если его открывали, затем он сворачивается. Цветомузыка, не иначе, абсурд какой-то.
Откройте в конце концов отладчик. Удалите "примочку", которой вы скрываете списки. Зайдите на страницу, которую еще не открывали. В куках не будет имен списков и списки будут раскрыты. Этот момент и нужно определять сервером, только в этом случае можно установить куки, чтобы при загрузке страницы они были скрыты. |
Цитата:
рони, подскажите пожалуйста, как сделать чтоб скрипт <script>window.setTimeout(()=> jQuery('.headexpand_show').click(), 300)</script> работал только с разрешением @media screen and (min-width:320px) and (max-width:640px) { } |
|
Stas1985,
if (window.matchMedia("screen and (min-width:320px) and (max-width:640px)").matches) { window.setTimeout(()=> jQuery('.headexpand_show').click(), 300) }; |
Цитата:
|
Часовой пояс GMT +3, время: 02:25. |