如何通过单击按钮更改站点的字体和背景颜色

时间:2011-11-29 12:40:58

标签: javascript html css dynamic

我希望我的用户能够使用“辅助功能”按钮更改背景颜色和字体颜色。当用户导航时,该网站需要记住这一点。

这里可以看到一个例子:

https://www.shop4support.com/

点击最顶部“报告此页面按钮”左侧的彩色字母。

6 个答案:

答案 0 :(得分:2)

我建议使用PHP cookie处理此问题,下面是如何执行此操作的示例:

http://pastebin.com/UeNfra7w

希望这会有所帮助。

答案 1 :(得分:1)

看起来当您点击这些链接时,我只是使用定义的样式重新加载页面。

一个基本的例子可能是这样的

定义你的风格

<style>
.theam_red {background:gray;color:white}
.theam_yellow {background:yellow;color:red}
</style>

更改className

的脚本

更新:添加了Cookie函数名称,以便使用quirksmode cookie

让Cookie正常工作
<script>

//在页面加载时获取cookie(如果存在)并应用用户优先样式, //你也可以阻止页面/掩码,直到页面准备好应用样式,Else获取cookie并使用应用程序服务器语言设置样式,例如,PHP / JSP ...

window.onload = function (){
   if(readCookie('theam')){
      var bdy = document.getElementById('container').className = readCookie('theam');
   }
}


function setStyle(whichStyle){
var bdy = document.getElementById('container');
switch (whichStyle){

case 1: bdy.className = "theam_yellow";
createCookie('theam','theam_yellow' ,365); //cookie function cookie, name, days
break;

case 2: bdy.className = "theam_red";
createCookie('theam','theam_red' ,365); // cookie function cookie, name, days
break;
}}}
</script>

例如在id上设置body tag和默认类

<body id="container" class="theam_default">
<input type="button" value="yellow" onclick="setStyle(1)" />
<input type="button" value="Gray" onclick="setStyle(2)" />
</body>

答案 2 :(得分:0)

答案 3 :(得分:0)

答案 4 :(得分:0)

没有服务器端会话处理的最佳选择是使用cookie。

单击样式更改按钮后,将使用该选项存储客户端大小的cookie。然后,您可以在每个页面加载时读取该cookie以重新加载用户首选项。

最简单的方法是使用jQuery,如@Kaiser所说。它允许您非常轻松地修改页面加载和点击的样式数据。

答案 5 :(得分:-1)

我知道这是旧的 - 但它仍然适用 - 并且是一个很好的起点

http://dynamicdrive.com/dynamicindex9/stylesheetswitcher.htm