使用 PHP 会话变量存储切换状态的基本解决方案
第 1 步:通过检查 PHP 会话变量值来设置容器在页面加载期间是否可见:
jQuery(document).ready(function(){
if(<?php echo (isset($_SESSION['userId']['toggleState'] && $_SESSION['userId']['toggleState'] === FALSE) ? 'true' : 'false'; ?>)
$('.toggle_container').hide();
});
第 2 步:添加脚本以更新 PHP 会话变量
jQuery(document).ready(function(){
jQuery(".toggle_container").hide();
jQuery("div.question_trigger").click(function(){
jQuery(this).toggleClass("active").next().toggle("slow");
var data = ($(this).is(":visible")) ? 'true' : 'false';
$.ajax({
url: 'ajax/update.php',
method : 'post',
data : {data : data},
success: function(data) {
console.log('data updated');
},
error: function (request, status, error) {
alert(request.responseText);
}
});
});
});
第 3 步:实现 ajax/update.php 代码(使用真实的 userId 数据库值)
<?php
$_SESSION['userId']['toggleState'] = (isset($_POST['data']) && $_POST['data'] === 'true') ? true : false;
?>