我正在建立一个WordPress的网站,我想让读者能够改变布局和字体(有些人更喜欢衬线/无衬线的阅读)和文字大小。保存网站上的用户首选项?
真的不想要求用户注册,但这只会为我目前正在做的事情增加一层复杂性,所以数据库内容已经不存在了。 由于不同的设置是如此基本,我认为有可能用cookies来完成的事情?
虽然我可以找到关于如何实际操作的宝贵的小信息。
因此,说我有一个功能,添加一个类到一个元素,我将如何在页面重新加载后为用户保存?
我正在建立一个WordPress的网站,我想让读者能够改变布局和字体(有些人更喜欢衬线/无衬线的阅读)和文字大小。保存网站上的用户首选项?
真的不想要求用户注册,但这只会为我目前正在做的事情增加一层复杂性,所以数据库内容已经不存在了。 由于不同的设置是如此基本,我认为有可能用cookies来完成的事情?
虽然我可以找到关于如何实际操作的宝贵的小信息。
因此,说我有一个功能,添加一个类到一个元素,我将如何在页面重新加载后为用户保存?
您可以使用此插件http://www.kelvinluck.com/2006/05/switch-stylesheets-with-jquery/切换样式表,并且当用户选择主题时,可以将主题的名称存储在cookie中。 http://www.w3schools.com/js/js_cookies.asp然后在页面重新加载并加载样式表时检索名称。
这里是使用cookies
http://jsfiddle.net/btevfik/f7mXV/
我绑定两个事件处理程序至两个按钮,并获得其中的字体被存储在cookie的一个例子。并将字体设置为存储的cookie。
$(document).ready(function() {
$("#button1").click(function() {
setFont('serif')
});
$("#button2").click(function() {
setFont('sans-serif')
});
var font = getCookie("username");
$("body").css("font-family", font);
});
事件处理程序调用此函数来设置所选字体的cookie并更改当前字体。
function setFont(font) {
setCookie("username", font, 365);
$("body").css("font-family", font);
}
我认为交换整个样式表是有点极端的,当我需要做的是改变添加一个类到父容器然后写一些新的样式基于此。 – andy 2013-03-26 02:19:54
我不认为它的极端。它让你有机会在自己的CSS表格中包含不同类型的主题。这将更容易管理,扩展到。 – btevfik 2013-03-26 02:24:22
@andy但是毕竟,如果你只是想改变字体,那么你可以将该字体名称保存在cookie中。然后将页面加载的字体设置为'$(“body”).css(“font-family”,yourfont);'yourfont将是您从cookie中检索的字体。 – btevfik 2013-03-26 02:30:22