网站地图    收藏   

主页 > 前端 > javascript >

js Cookie实现关闭打开网页背景示例

来源:自学PHP网    时间:2014-09-19 14:47 作者: 阅读:

[导读] 以前我们有介绍过利用js cookie功能来实现换网页皮肤的功能,今天我来介绍利用js cookie实现开启与关闭网页背景,其实原理一样的。...

我们使用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,"5b8b4f53", 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;
}

在设置cookie有效期的时候,我们可以根据实际需求设置10天、半个月,本文为了演示只设置了1小时,请看

完整实例

 代码如下 复制代码

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<script src='/notfound.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");
 });
})
</script>

</body>
</html>

小提示,这里的背景图片大家自己增加吧这里就不提供下载了,核心背景代码图片

 代码如下 复制代码

$("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");

这三句了。

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论