如何让客户自己有选择的改变界面的样式与颜色,并且这种改变要保持一段的时间,也就是说不会因为用户的刷新或者关闭浏览器而随之消失,还要达到一个顾客的改变不会影响到其他的人。
这里就有两个问题,第一、怎么实现改变样式,且我的改变不会影响其他人的。第二、改变不会因刷新或者其他原因而消失。当然,cookies很好地解决了这种问题。
下面给出具体的做法:此种方法使用两个JavaScript的函数来完成。
第一个函数(changecss(x))来暂时改变网站的样式,并且把用户想要改变的样式以cookies的储存起来。
第二个函数(cssskin(X))来完成此种样式不会因用户的刷新或者关闭浏览器而消失。
注明:样式的名称存在数据库中,不管后台用什么语言,只要传递一个值即样式名称给下面的函数就行了,此值在我用name来表示。样式文件存储在文件夹css中
- //修改HTML中的元素,此函数是修改Link,并设置cookies
- function changecss(name)
- {
- var date=new Date();
- date.setTime(date.getTime()+30*24*3066*1000);
- document.getElementsByTagName("link")[1].href="/css/"+name;
- document.cookie="css="+name+";expires="+date.toGMTString();//设置cookies
- }
- //从cookies中取出所设置的元素
- function cssskin()
- {
- var cookiesArr=document.cookie.split(";");
- var css;
- for(var i=0;i<cookiesArr.length;i++)
- {
- var arr=cookiesArr[i].split("=");
- if(arr[0]=="css")
- {
- css=arr[1];
- break;
- }
- }
- //下面这句是每次刷新都达到用户想要的样式
- document.getElementsByTagName("link")[1].href="/css/"+css;
- }