页面切换主题风格,利用本地缓存

//默认为黑色主题,全局变量
var saveThemeColor = {
'Name': 'ThemeColor',
'Color': 'darktheme'
}

var storage = getLocalStorage();

// 判断用户是否已有自己选择的主题风格
if (storageLoad('ThemeColor')) {
var themecolor = storageLoad('ThemeColor').Color;

$('body').attr('class',themecolor);

} else {
storageSave(saveThemeColor);
$('body').attr('class', 'darktheme');
}


// 本地缓存
function storageSave(obj) {
storage.setItem(obj.Name, JSON.stringify(obj));
}

function storageLoad(objectName) {
if (storage.getItem(objectName)) {
return JSON.parse(storage.getItem(objectName));
} else {
return false;
}
}

//兼容只支持globalStorage的浏览器
function getLocalStorage(){
if(typeof localStorage == 'object'){
return localStorage;
}else if (typeof globalStorage == 'object') {
return globalStorage[location.host];
} else {
throw new Error('Local storage not available');
}
}

//切换主题
$('.themeli').find('span').on('click',function(){

$('body').attr('class', $(this).attr('data-color'))

saveThemeColor.Color = $(this).attr('data-color');
// 保存选择项
storageSave(saveThemeColor);

});

posted @ 2018-04-04 17:40  不落幕  阅读(178)  评论(0编辑  收藏  举报