使用javascript控制cookie显示和隐藏背景图


Posted in Javascript onFebruary 12, 2014

每当重大节日期间,各大主流网站首页会披上节日的盛装,设计者一般会使用大幅背景图片来获得更好的视觉冲击效果,当然,也要考虑到有些用户不习惯这大背景图,那么在背景图上放置“关闭”按钮是有必要的,用户只要点击“关闭背景”按钮,大幅背景图将会消失。

我们使用javascript来控制背景图片的显示和隐藏,当点击关闭按钮时,控制CSS使页面不加载背景图,同时记录COOKIE相关参数,并设置cookie的有效期,那么在cookie有效期内刷新页面,是不会再加载背景图的,如果cookie失效,则又会重新加载背景图片。

HTML

一般背景图片的关闭按钮都是放在页面头部的,我们在页面的顶部放置关闭背景的按钮,当然这个按钮是做好的图片。

<div id="top"> 
    <em id="close_btn" title="关闭背景"></em> 
</div>

CSS

还需要准备大背景图片,我们从网上找张大背景图拿来用,用CSS做简单的页面布局。

 

*{margin:0; padding:0} 
body{font:12px/18px "Microsoft Yahei",Tahoma,Arial,Verdana,"\5b8b\4f53", sans-serif;} 
#top{clear:both;width:1000px;height:60px;margin:0 auto;overflow:hidden;position:relative;} 
#close_btn{width:60px;height:20px;position:absolute;right:0;bottom:25px;cursor:pointer; 
display:block;z-index:2;}

部署完了css后,页面还没有什么效果,我们需要使用javascript来加载背景图片。
Javascript
当第一次加载页面时(这时还没有设置cookie等),当然要把背景图片加载,显示完整的页面效果。当我们点击“关闭”按钮时,这个时候Javascript会把页面已经加载的背景图片干掉,即不显示出来,并且设置cookie,通过cookie的过期时间来控制大背景图片是否显示。即当下次刷新页面时,如果cookie未过期,则不会加载大背景图片,反之则加载大背景图片,请看代码:

 

$(function(){ 
    if(getCookie("mainbg")==0){ 
        $("body,html").css("background","none"); 
        $("#close_btn").hide(); 
    }else{ 
        $("body").css("background","url(images/body_bg.jpg)) no-repeat 50% 0"); 
        $("html").css("background","url(images/html_bg.jpg) repeat-x 0 0"); 
        $("#close_btn").show().css("background","url(images/close_btn.jpg) no-repeat"); 
    } 
    //点击关闭 
    $("#close_btn").click(function(){ 
        $("body,html").css("background","none"); 
        $("#close_btn").hide(); 
        setCookie("mainbg","0"); 
    }); 
})

很显然,我们是通过设置页面元素的CSS背景background属性来控制背景图的加载,并且通过getCookie()和setCookie()两个自定义函数来读取和设置cookie的。

 

//设置cookie 
function setCookie(name,value){ 
    var exp = new Date();  
    exp.setTime(exp.getTime() + 1*60*60*1000);//有效期1小时 
    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); 
} 
//取cookies函数 
function getCookie(name){ 
    var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)")); 
    if(arr != null) return unescape(arr[2]); return null; 
}
Javascript 相关文章推荐
Javascript 自适应高度的Tab选项卡
Apr 05 Javascript
分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]
Oct 12 Javascript
javascript dom追加内容实现示例
Sep 21 Javascript
JavaScript的21条基本知识点
Mar 04 Javascript
判断及设置浏览器全屏模式
Apr 20 Javascript
js返回前一页刷新本页重载页面
Jul 29 Javascript
JS+CSS实现鼠标滑过时动态翻滚的导航条效果
Sep 24 Javascript
图解Javascript——作用域、作用域链、闭包
Mar 21 Javascript
原生JS实现烟花效果
Mar 10 Javascript
解决vue 给window添加和移除resize事件遇到的坑
Jul 21 Javascript
用JS写一个发布订阅模式
Nov 07 Javascript
浅谈JavaScript作用域
Dec 06 Javascript
raphael.js绘制中国地图 地图绘制方法
Feb 12 #Javascript
js post提交调用方法
Feb 12 #Javascript
JQuery中操作Css样式的方法
Feb 12 #Javascript
Jquery的Tabs内容轮换效果实现代码,几行搞定
Feb 12 #Javascript
js判断设备是否为PC并调整图片大小
Feb 12 #Javascript
Jquery Uploadify上传带进度条的简单实例
Feb 12 #Javascript
js弹出div并显示遮罩层
Feb 12 #Javascript
You might like
PHP 模板高级篇总结
2006/12/21 PHP
php 购物车实例(申精)
2009/05/11 PHP
PHP转换IP地址到真实地址的方法详解
2013/06/09 PHP
php常用ODBC函数集(详细)
2013/06/24 PHP
thinkPHP多语言切换设置方法详解
2016/11/11 PHP
PHP获取表单数据与HTML嵌入PHP脚本的实现
2017/02/09 PHP
ThinkPHP实现分页功能
2017/04/28 PHP
Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
2011/10/29 Javascript
JS实现静止元素自动移动示例
2014/04/14 Javascript
js四舍五入数学函数round使用实例
2014/05/09 Javascript
js实现异步循环实现代码
2016/02/16 Javascript
JavaScript解八皇后问题的方法总结
2016/06/12 Javascript
Angular.js基础学习之初始化
2017/03/10 Javascript
微信小程序开发之IOS和Android兼容的问题
2017/09/26 Javascript
Vue.js与 ASP.NET Core 服务端渲染功能整合
2017/11/16 Javascript
NodeJS爬虫实例之糗事百科
2017/12/14 NodeJs
vue基于mint-ui实现城市选择三级联动
2020/06/30 Javascript
vue-cli 打包后提交到线上出现 &quot;Uncaught SyntaxError:Unexpected token&quot; 报错
2018/11/06 Javascript
angular *Ngif else用法详解
2020/12/15 Javascript
Python利用operator模块实现对象的多级排序详解
2017/05/09 Python
Python数据结构与算法之图的广度优先与深度优先搜索算法示例
2017/12/14 Python
Python读取Json字典写入Excel表格的方法
2018/01/03 Python
Python实现的rsa加密算法详解
2018/01/24 Python
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
2018/04/24 Python
详解Django 中是否使用时区的区别
2018/06/14 Python
Python实现查询某个目录下修改时间最新的文件示例
2018/08/29 Python
Python实现数字的格式化输出
2020/08/01 Python
css3选择器基本介绍
2014/12/15 HTML / CSS
澳大利亚优惠网站:Deals.com.au
2019/07/02 全球购物
学期自我鉴定
2013/11/04 职场文书
如何客观的进行自我评价
2013/12/17 职场文书
能源工程专业应届生求职信
2014/03/01 职场文书
植树节口号
2014/06/21 职场文书
我的中国梦演讲稿800字
2014/08/19 职场文书
2014年妇女工作总结
2014/12/06 职场文书
JavaScript实现九宫格拖拽效果
2022/06/28 Javascript