使用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 相关文章推荐
音乐播放用的的几个函数
Sep 07 Javascript
理解JavaScript的caller,callee,call,apply
Apr 28 Javascript
打豆豆小游戏 用javascript编写的[打豆豆]小游戏
Jan 08 Javascript
让input框实现类似百度的搜索提示(基于jquery事件监听)
Jan 31 Javascript
jQuery判断checkbox是否选中的3种方法
Aug 12 Javascript
Js和JQuery获取鼠标指针坐标的实现代码分享
May 25 Javascript
简单实现异步编程promise模式
Jul 31 Javascript
jquery实现红色竖向多级向右展开的导航菜单效果
Aug 31 Javascript
JavaScript数组合并的多种方法
May 22 Javascript
Angular页面间切换及传值的4种方法
Nov 04 Javascript
JS调用打印机功能简单示例
Nov 28 Javascript
Vue3 源码导读(推荐)
Oct 14 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 采集心得技巧
2009/05/15 PHP
PHP中的正则表达式函数介绍
2012/02/27 PHP
Javascript与PHP验证用户输入URL地址是否正确
2014/10/09 PHP
Linux下PHP加速器APC的安装与配置笔记
2014/10/24 PHP
Yii2框架数据库简单的增删改查语法小结
2016/08/31 PHP
基于JQuery的asp.net树实现代码
2010/11/30 Javascript
Jquery 数据选择插件Pickerbox使用介绍
2012/08/24 Javascript
关于全局变量和局部变量的那些事
2013/01/11 Javascript
jquery 显示*天*时*分*秒实现时间计时器
2014/05/07 Javascript
JavaScript函数详解
2015/02/27 Javascript
javascript实现设置、获取和删除Cookie的方法
2015/06/01 Javascript
JSON字符串转JSON对象
2015/07/31 Javascript
第三篇Bootstrap网格基础
2016/06/21 Javascript
js实现移动端导航点击自动滑动效果
2017/07/18 Javascript
EasyUI在Panel上动态添加LinkButton按钮
2017/08/11 Javascript
javascript实现的字符串转换成数组操作示例
2019/06/13 Javascript
Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例
2018/01/15 Python
Python zip()函数用法实例分析
2018/03/17 Python
python3爬虫获取html内容及各属性值的方法
2018/12/17 Python
理想高通滤波实现Python opencv示例
2019/01/30 Python
Python实现二叉搜索树BST的方法示例
2019/07/30 Python
python读取大文件越来越慢的原因与解决
2019/08/08 Python
Python字节单位转换实例
2019/12/05 Python
将python依赖包打包成window下可执行文件bat方式
2019/12/26 Python
Python异常原理及异常捕捉实现过程解析
2020/03/25 Python
pyqt5中动画的使用详解
2020/04/01 Python
解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
2020/04/13 Python
Electrolux伊莱克斯巴西商店:家用电器、小家电和配件
2018/05/23 全球购物
中华魂演讲稿
2014/05/13 职场文书
2014年社区居委会主任重阳节讲话稿
2014/09/25 职场文书
2014年德育工作总结
2014/11/20 职场文书
2014年体育教师工作总结
2014/12/03 职场文书
2015年度工程师评职称工作总结
2015/10/14 职场文书
导游词之天津古文化街
2019/11/09 职场文书
CSS Transition通过改变Height实现展开收起元素
2021/08/07 HTML / CSS
Winsows11性能如何? win11性能测评多核竟比Win10差了10%
2021/11/21 数码科技