javascript代码实例教程-JS实现网页换肤功能效果

发布时间:2019-02-15 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了javascript代码实例教程-JS实现网页换肤功能效果脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。  

 

  使用 JS 切换对应的 CSS 样式表。例如hao123首页的右上方就有网页换肤功能。除了切换 CSS 样式表文件之外,通常的网页换肤还需要通过 Cookie 来记录用户之前更换过的皮肤,这样下次用户访问的时候,就可以自动使用上次用户配置的选项。

 

  基本流程如下:

 

                             

javascript代码实例教程-JS实现网页换肤功能效果

 

   上面是使用流程图来描述下,自从工作以来很小画这样的流程图 如果流程图画错了或者画的不够好 请大家原谅!

 

   先来看看效果图吧!

 

   

javascript代码实例教程-JS实现网页换肤功能效果

 

  我只是做个demo 来实现这样一个效果!假如页面上一进来的时候 有这么四个按钮 分别代表不同的样式 当我鼠标点击不同的按钮时候 切换不同的css文件 且切换时候记录cookie里面去,当我们刷新页面或者关闭网页 重新打开 由于cookie的存在 所以还是关闭前的css样式 这样就实现了简单的网页换肤功能效果 基本的原理就是这些!

 

 了解cookie及HTML5中sessionStorage和localStorage

  首先我们来了解下cookie是干什么用的?简单讲 cookie作用是客户端存储数据。也就是本地存储。具体的了解可以看我之前的一篇关于cookie的博客。深入了解cookie

 

  讲到cookie,我们再来简单的来了解下HTML5中新增了2个本地存储sessionStorage和localStorage. sessionStorage、 localStorage、cookie都是在浏览器端存储的数据,   其中sessionStorage的概念很特别,引入了一个“浏览器窗口”的概念。 sessionStorage是在同的同窗口(或tab)中,始终存在的数据。也就是说只要这个浏览器窗口没有关闭,即使刷新页面或进入同源另一页面, 数据仍然存在。 关闭窗口后,sessionStorage即被销毁。同时“独立”打开的不同窗口,即使是同一页面,sessionStorage对象也是不同的。 

Web  Storage 带来的好处: 减少网络流量:一旦数据保存在本地后,就可以避免再向服务器请求数据,因此减少不必要的数据请求,减少 数据在浏览器和服务器间不必要地来回传递。 快速显示数据:性能好,从本地读数据比通过网络从服务器获得数据快得多,本地数据可以即时获得。再加上网页本身也可以有缓存,因此整个页面和数据都在本地的话,可以立即显示。 临时存储:很多时候数据只需要在用户浏览一组页面期间使用,关闭窗口后数据就可以丢弃了,这种情况使用 sessionStorage非常方便。

 

 cookie sessionStorage及localStorage共同点及区别是什么

 共同点:

 

   都是在浏览器端存储的数据,且同源的。

 

 区别:

 

     1. 存储大小不一样: cookie存储数据有限制 做多只能是4KB 而sessionStorage和localStorage可以存储5MB 甚至更多数据。

 

     2. cookie 数据始终在同源的http请求中携带,即cookie在浏览器和服务器间来回传递。而sessionStorage和 localStorage不会自动把数据发给服务器,仅在本地保存。

 

     3. 数据有效期不同: sessionStorage:仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持; localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据; cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。

 

    4. 作用域不同, sessionStorage 不在 不同的浏览器窗口中共享,即使是同一个页面; localStorage 在所有同源窗口中都是共享的;cookie也是在 所有同源窗口中都是共享的。

 

 使用cookie碰到那些问题?

    首先来讲讲我在本地做demo 因为没有放到任何服务器下面 所以我直接放在桌面上 点击页面打开,突然发现 "谷歌游览器不支持cookie在本地存储"。所以针对这个问题在谷歌游览器下没有用cookie存储,而是用了上面介绍的HTML5中的localStorage作本地存储功能。通过setITem 设置key名 然后通过getItem获取key名 进而获取值。

 

HTML代码如下:

 

<p>前端开发是我的一个职业目标,我喜欢前端开发,热爱前端开发,喜欢制作各种各样的页面效果</p>

<input tyPE="button" data-value="default" class="targetElem" value="default"/>

<input type="button" data-value="green" class="targetElem" value="green"/>

<input type="button" data-value="red" class="targetElem" value="red"/>

<input type="button" data-value="orange" class="targetElem" value="orange"/>

CSS代码

 

 default.css 代码如下:

 

@charset "utf-8";

/* CSS Document */

*{padding:0;margin:0;}

h2{color:#00C;}

p{color:#006;}

orange.css代码如下:

 

@charset "utf-8";

/* CSS Document */

*{padding:0;margin:0;}

h2{color:#C60;}

p{color:#C33;}

green.css代码如下:

 

@charset "utf-8";

/* CSS Document */

*{padding:0;margin:0;}

h2{color:#060;}

p{color:#060;}

red.css代码如下:

 

@charset "utf-8";

/* CSS Document */

*{padding:0;margin:0;}

h2{color:#F00;}

p{color:#F00;}

觉得可用,就经常来吧! 脚本宝典 欢迎评论哦! js脚本,巧夺天工,精雕玉琢。小宝典献丑了!

脚本宝典总结

以上是脚本宝典为你收集整理的javascript代码实例教程-JS实现网页换肤功能效果全部内容,希望文章能够帮你解决javascript代码实例教程-JS实现网页换肤功能效果所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。