function switchModelMode(){
var model = document.cookie.replace(/(?:(?:^|.*;\s*)model\s*\=\s*([^;]*).*$)|^.*$/, "$1") || '0'; if(model == '0'){ document.body.classList.add('model'); document.cookie = "model=1;path=/" console.log('皮肤模式开启'); }else{ document.body.classList.remove('model'); document.cookie = "model=0;path=/" console.log('皮肤模式关闭'); } } (function(){ var model = document.cookie.replace(/(?:(?:^|.*;\s*)model\s*\=\s*([^;]*).*$)|^.*$/, "$1") || '0'; if(model == '0'){ document.body.classList.remove('model'); }else if(model == '1'){ document.body.classList.add('model'); } })();
利用JS中Element.classList
的add()
和remove()
方法,正好满足我们的需求,且支持绝大多数浏览器(IE10以上支持)
但先别急着写,在皮肤更改的时,注意一个小的细节还:更改后的这个状态应被保存下来一直生效,或持续到本次会话结束,此事我们便可以利用cookie
来解决这个问题。