我最近使用 CSS 在我的网站上实现了一个 float (?) header ,但我想使特定页面只有一个普通 header ,因为某些页面的性质不保证它。将来(或者可能同时?)我想为用户提供切换 float 的选项,如果这有意义的话。
(请耐心等待,我仍然是 PHP/Javascript 新手!)
因此,目前标题将在窗口顶部保持可见,即使用户向下滚动页面,在所有页面上也是如此。 但是,有些页面不需要 float 标题。对于其他需要的页面,我希望用户可以选择切换 float 标题,因为有些人可能不需要快速访问标题中的工具链接。理想情况下,右上角会始终显示一个 css 按钮,上面写着“查看/隐藏导航栏”或“停止关注我!”之类的内容。 (目前我更关心实际功能。)因此,无论标题是可见还是隐藏,切换按钮都需要始终可见。
我是否会为用户提供在所有页面上切换标题的选项(即使在没有 float 标题的页面上),我不知道。取决于实现的难度。
到目前为止,我这样做是为了在所有页面上显示标题:
#header
{
position:fixed;
width:914px;
z-index:1;
}
#rest of header content....
在每个 .php 页面上,我都将标题背景和导航栏放在 .php 文件中。 到目前为止一切都很好。
使用 PHP 或 Javascript,如何引入切换功能?
最佳答案
这非常简单 - 在复选框或您喜欢选择的任何形式的用户设置实现中 - 使其激活您将要创建的 PHP 函数。该函数(请注意,不一定非得是一个函数)将保存用户对标题的偏好。您可以通过以下方式执行此操作:
- session - 将在浏览器关闭时重置
- Cookies - 将在浏览器关闭时或在特定时间重置 看你做什么
- 数据库 - 只有当你告诉它时才会重置 - 以及其他用户偏好(你是否熟悉动态 内容了吗?)
假设您不希望数据过载并且您不强制人们加入您的网站(并且不想为每个访问者开设任意临时帐户)- 我会说 cookies 并将它们设置为在离现在很远的某个日期过期。 PHP 有一个 built in function对于 cookie:
setcookie ($name , $value, $expire);
例如:
setcookie('header_float', 'true', time() + (365 * 24 * 60 * 60));
将设置一个 cookie 从现在起一年后过期。您可以使用 $_COOKIE['header_float']
超全局变量访问此 cookie。
<div id="header" <?=($_COOKIE['header_float']) ? ' class="float"' : ''?>>
...
</div>
关于PHP(或 Javascript) float 标题开/关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11382744/