Maximum_Live
@Maximum_Live
учусь php

Как запустить кусок кода js из php?

Есть обработчик на jQuery, который при клике на кнопку "hide" сворачивает определенные элементы:
$(document).ready(function() {
...
$('.hide').click(function() { ... })
...
});

Мне надо сделать так, что при первом входе на сайт у пользователя этот кусок был как обычно развернут, а при повторном входе уже свернут, я это пытаюсь сделать через сессии:

<?php 
    session_start();

    if(isset($_SESSION['name'])){
      здесь надо выполнить действие кнопки "hide"
    }
    $_SESSION['name'] = "test";
 ?>

Подскажите как это можно реализовать? В обработчике кнопки довольно много чего, может его можно обернуть как-то в функцию и вызывать из php?
  • Вопрос задан
  • 4406 просмотров
Решения вопроса 3
kimono
@kimono
Web developer
if(isset($_SESSION['perviy_vhod'])){
  echo '<script>
    $(function(){
      $('.hide').trigger('click');
    }); 
  </script>';
  $_SESSION['perviy_vhod'] = 'perviy_vhod_vipolnen';
}
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
"Выполнить нажатие" или "не раскрывать нужный кусок"?
Можно прописать переменную состояния контейнера в JS скрипте (JS):
var expanded=<?=if($_SESSION['nextView'])?"false":"true"?>;

А ниже (ПОСЛЕ ПРОВЕРКИ!)- задать переменную (в PHP):
if(!isset($_SESSION['nextView']))$_SESSION['nextView']=true;

В итоге, первый раз - переменной$_SESSION['nextView'] не будет и в JS переменная expanded=true
А при следующем вызове - $_SESSION['nextView']=true и expanded=false.
Ответ написан
Maximum_Live
@Maximum_Live Автор вопроса
учусь php
решение найдено самостоятельно :

<?php 
session_start();

if(isset($_SESSION['first_in'])){
    ?>
    <script src="libs/jquery/jquery-1.11.1.min.js"></script>
    <script src="common.js"></script>
    <script type='text/javascript'> 
        $(document).ready(function() {
            $('.hide').trigger('click');
        }); 
    </script>
<?php
}
$_SESSION['first_in'] = "first_in_ok";
?>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы