我正在使用以下教程:http://www.shopdev.co.uk/blog/cookies-with-jquery-designing-collapsible-layouts/
这是我使用的脚本:
<script type="text/javascript" language="javascript">
$(function() {
// SETUP:
// When the info banner is clicked:
$('#setup').click(function() {
$('#intro').css("display","none");
$.cookie('intro', 'collapsed');
});
// COOKIES
// Info banner state
var intro = $.cookie('intro');
// READ THE COOKIES
if (intro == 'collapsed') {
$('#intro').css("display","none");
};
});
</script>
读取 cookie 时,脚本隐藏以下 div:
<div class="feedback attention" id="intro">
Text goes here
<a id="setup" href="#">Ok I get it, please hide this</a>
</div>
一切都很好,但是当页面加载时,div 会显示一瞬间。我想解决方案是根据 cookie 信息在服务器端呈现两个不同的标记。我不知道该怎么做。
最佳答案
在页面加载时,您可以使用php检查cookie,然后添加一个隐藏类。类似 <div class="<?= $_COOKIE['intro'] == 'collapsed' ? 'hidden':'' ?>">
编辑:
然后在 CSS 中,您可以添加类似 .hidden { display: none; }
的内容并使用 jQuery 添加或删除该类。
关于php - 如何通过读取cookie来隐藏div服务器端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3040795/