使用javascript控制cookie顯示和隱藏背景圖
每當(dāng)重大節(jié)日期間,各大主流網(wǎng)站首頁會披上節(jié)日的盛裝,設(shè)計(jì)者一般會使用大幅背景圖片來獲得更好的視覺沖擊效果,當(dāng)然,也要考慮到有些用戶不習(xí)慣這大背景圖,那么在背景圖上放置“關(guān)閉”按鈕是有必要的,用戶只要點(diǎn)擊“關(guān)閉背景”按鈕,大幅背景圖將會消失。
我們使用javascript來控制背景圖片的顯示和隱藏,當(dāng)點(diǎn)擊關(guān)閉按鈕時(shí),控制CSS使頁面不加載背景圖,同時(shí)記錄COOKIE相關(guān)參數(shù),并設(shè)置cookie的有效期,那么在cookie有效期內(nèi)刷新頁面,是不會再加載背景圖的,如果cookie失效,則又會重新加載背景圖片。
HTML
一般背景圖片的關(guān)閉按鈕都是放在頁面頭部的,我們在頁面的頂部放置關(guān)閉背景的按鈕,當(dāng)然這個(gè)按鈕是做好的圖片。
<div id="top">
<em id="close_btn" title="關(guān)閉背景"></em>
</div>
CSS
還需要準(zhǔn)備大背景圖片,我們從網(wǎng)上找張大背景圖拿來用,用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
當(dāng)?shù)谝淮渭虞d頁面時(shí)(這時(shí)還沒有設(shè)置cookie等),當(dāng)然要把背景圖片加載,顯示完整的頁面效果。當(dāng)我們點(diǎn)擊“關(guān)閉”按鈕時(shí),這個(gè)時(shí)候Javascript會把頁面已經(jīng)加載的背景圖片干掉,即不顯示出來,并且設(shè)置cookie,通過cookie的過期時(shí)間來控制大背景圖片是否顯示。即當(dāng)下次刷新頁面時(shí),如果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");
}
//點(diǎn)擊關(guān)閉
$("#close_btn").click(function(){
$("body,html").css("background","none");
$("#close_btn").hide();
setCookie("mainbg","0");
});
})
很顯然,我們是通過設(shè)置頁面元素的CSS背景background屬性來控制背景圖的加載,并且通過getCookie()和setCookie()兩個(gè)自定義函數(shù)來讀取和設(shè)置cookie的。
//設(shè)置cookie
function setCookie(name,value){
var exp = new Date();
exp.setTime(exp.getTime() + 1*60*60*1000);//有效期1小時(shí)
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
//取cookies函數(shù)
function getCookie(name){
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null) return unescape(arr[2]); return null;
}
- 一個(gè)可以得到元素真實(shí)的背景顏色的javascript腳本
- javascript背景時(shí)鐘實(shí)現(xiàn)方法
- javascript隨機(jī)顯示背景圖片的方法
- JavaScript讓網(wǎng)頁出現(xiàn)漸隱漸顯背景顏色的方法
- JavaScript動(dòng)態(tài)修改背景顏色的方法
- javascript實(shí)現(xiàn)隨時(shí)變化著的背景顏色
- JavaScript生成的動(dòng)態(tài)下雨背景效果實(shí)現(xiàn)方法
- JavaScript實(shí)現(xiàn)更改網(wǎng)頁背景與字體顏色的方法
- Javascript簡單改變表單元素背景的方法
相關(guān)文章
微信小程序自定義tab實(shí)現(xiàn)多層tab嵌套功能
微信小程序非常火爆,今天腳本之家小編給大家?guī)淼奈⑿判〕绦蜃远xtab實(shí)現(xiàn)多層tab嵌套功能以及項(xiàng)目中遇到的問題及解決方法,感興趣的朋友一起看看吧2018-06-06
js trim函數(shù) 去空格函數(shù)與正則集錦
在javascript中處理文本框輸入值的時(shí)候,經(jīng)常要用到"去掉前后空白"的功能。用過jQuery的朋友都知道,jQuery提供了一個(gè)trim()這樣的功能函數(shù),可以很輕松幫我們實(shí)現(xiàn)這樣的效果。2009-11-11
php main 與 iframe 相互通訊類(js+php同域/跨域)
這篇文章主要介紹了php main 與 iframe 相互通訊類(js+php同域/跨域),需要的朋友可以參考下2017-09-09

