本文實例講述了JS使用cookie設置樣式的方法。分享給大家供大家參考,具體如下:
var styleShow = ["blackgreen", "purple"];
var path = "/";
var StyleSwitch = {
//設置樣式
setStyleSheet: function (StyleName) {
var i, a, main;
for (i = 0; (a = document.getElementsByTagName("link")[i]); i++) {
if (a.getAttribute("rel").indexOf("Style") != -1 && a.getAttribute("title")) {
a.disabled = true;
if (a.getAttribute("title") == StyleName) {
a.disabled = false;
this.setCookie("Style", StyleName);
}
}
}
},
//獲取當前使用樣式
getStyleSheet: function () {
var i, a;
for (i = 0; (a = document.getElementsByTagName("link")[i]); i++) {
if (a.getAttribute("rel").indexOf("Style") != -1 && a.getAttribute("title") && !a.disabled) {
return a.getAttribute("title");
}
}
return null;
},
//獲取默認樣式
getPreferredStyleSheet: function () {
var i, a;
for (i = 0; (a = document.getElementsByTagName("link")[i]); i++) {
if (a.getAttribute("rel").indexOf("Style") != -1
&& a.getAttribute("rel").indexOf("alt") == -1
&& a.getAttribute("title")
) {
return a.getAttribute("title");
}
}
return null;
},
//獲取cookie
getCookie: function (name) {
var cookieName = encodeURIComponent(name) + "=",
cookieStart = document.cookie.indexOf(cookieName),
cookieValue = null;
if (cookieStart > -1) {
var cookieEnd = document.cookie.indexOf(";", cookieStart);
if (cookieStart == -1) {
alert(-2);
cookieEnd = document.cookie.length;
}
cookieValue = decodeURIComponent(document.cookie.substring(cookieStart + cookieName.length, cookieEnd));
}
for (var i = 0; i < styleShow.length; i++) {
if (cookieValue == styleShow[i]) {
alert(styleShow[i]);
return styleShow[i];
}
}
return styleShow[0];
},
//生成cookie
//name cookie名
//value 值
//expires 過期時間
//path 路徑
setCookie: function (name, value, expires, path, domain, secure) {
var cookieText = encodeURIComponent(name) + "=" + encodeURIComponent(value) + ";";
if (expires instanceof Date) {
cookieText += "expires=" + expires.toGMTString();
}
if (path) {
cookieText += ";path=" + path;
}
if (domain) {
cookieText += ";domain=" + domain;
}
if (secure) {
cookieText += ";secure";
}
document.cookie = cookieText;
},
//重置cookie
unsetCookie: function (name, path, domain, secure) {
this.set(name, "", new Date(0), path, domain, screen);
}
};
更多關於JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript中json操作技巧總結》、《JavaScript切換特效與技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》
希望本文所述對大家JavaScript程序設計有所幫助。