所以我在我的网站上有一些CSS3的特效,但我试图给观众一个禁用这些特效的选项。所以我采用了PHP Cookie的方法,但它根本不起作用。
如果没有cookie,我会看到“单击此处启用特效”,即使它们已经启用。直接转到禁用页面也不会关闭它们。
下面是我的代码中的一些片段。
检查是否设置了cookie:
<?php
if(!$_COOKIE['nofancy']){
?>
<link rel="stylesheet" type="text/css" href="http://pattersoncode.ca/incls/nofancy.css" media="screen" />
<?php
}
?>
关闭特殊效果:
<p>You have successfully turned off all special effects used in this website. This effect will last 48 hours after which you will need to disable them again. You will be redirected to the homepage in 5 seconds.</p>
<?php
$value = "nofancy";
setcookie("nofancy",$value, time()+3600*48);
?>
<script type='text/javascript'>
setTimeout(function () {
window.location.href= 'http://www.pattersoncode.ca';
},5000); // 5 seconds
</script>
重新启用特殊效果:
<p>Special effects have been enabled again. This effect will be permanent unless disabled again. You will be redirected to the homepage in 5 seconds.</p>
<?php
setcookie ("nofancy", "", time() - 3600);
?>
<script type='text/javascript'>
setTimeout(function () {
window.location.href= 'http://www.pattersoncode.ca';
},5000); // 5 seconds
</script>
禁用/启用按钮:
<?php
if (!isset($_COOKIE["nofancy"]))
{
?>
<a href="?a=fancyon"> Turn special effects back on </a>
<?php
} else {
?>
<a href="?a=nofancy"> Remove all effects </a>
<?php
}
?>
有人能帮我吗?被难住了。
发布于 2013-07-09 05:59:49
我建议您设置CSS,以便所有启用奇特功能的选择器都以如下所示的附加类开始:
/* regular CSS - just to demonstrate the normal selectors that have
nothing to do with fancy CSS stuff */
#foo {
border: 1px solid hotpink;
width: 300px;
height: 200px;
}
/* fancy stuff added here */
.fancy-css #foo {
box-shadow: 5px 5px 10px lime;
border-radius: 4px;
}
这样,您就可以通过控制HTML输出来简单地启用/禁用样式。
这样,您就可以通过相应地修改HTML输出来控制服务器上的样式。您还可以通过简单地将类删除/添加到body
标记来在不重新加载的情况下切换这些奇特的东西。
https://stackoverflow.com/questions/17536601
复制相似问题