动态CSS,换肤技术

常见的例子就是:一个站点上有多个页面样式提供浏览者选择。
同时,在选择了某样式后,再次打开该页面时,将仍然保持该样式。
自然会想到了Cookie技术
下面是HTML代码部分(另外再加需要的CSS文件就可以使用了):

 

< HTML >
< HEAD >
< link  ID ="skin"  rel ="stylesheet"  type ="text/css" >
< TITLE > 换肤技术 </ TITLE >
< SCRIPT  LANGUAGE =javascript >
<!--
function  SetCookie(name,value){
    
var  argv = SetCookie.arguments;
    
var  argc = SetCookie.arguments.length;
    
var  expires = ( 2 < argc) ? argv[ 2 ]: null ;
    
var  path = ( 3 < argc) ? argv[ 3 ]: null ;
    
var  domain = ( 4 < argc) ? argv[ 4 ]: null ;
    
var  secure = ( 5 < argc) ? argv[ 5 ]: false ;
    document.cookie
= name + " = " + escape(value) + ((expires == null ) ? "" :( " ; expires= " + expires.toGMTString())) + ((path == null ) ? "" :( " ; path= " + path)) + ((domain == null ) ? "" :( " ; domain= " + domain)) + ((secure == true ) ? " ; secure " : "" );
}

function  GetCookie(Name) {
    
var  search  =  Name  +   " = " ;
    
var  returnvalue  =   "" ;
    
if  (document.cookie.length  >   0 ) {
          offset 
=  document.cookie.indexOf(search);
          
if  (offset  !=   - 1 ) {      
                offset 
+=  search.length;
                end 
=  document.cookie.indexOf( " ; " , offset);                        
                
if  (end  ==   - 1 )
                      end 
=  document.cookie.length;
                returnvalue
= unescape(document.cookie.substring(offset,end));
          }
    }
    
return  returnvalue;
}

var  thisskin;
thisskin
= GetCookie( " nowskin " );
if (thisskin != "" )
    skin.href
= thisskin;
else
    skin.href
= " css.css " ;

function  changecss(url){
    
if (url != "" ){
          skin.href
= url;
          
var  expdate = new  Date();
          expdate.setTime(expdate.getTime()
+ ( 24 * 60 * 60 * 1000 * 30 ));
          
// expdate=null;
                                   // 以下设置COOKIES时间为1年,自己随便设置该时间..
          SetCookie( " nowskin " ,url,expdate, " / " , null , false );
    }
}
// -->
</ SCRIPT >
</ HEAD >
< BODY >

< P > 请选择下面的下拉菜单测试换肤效果 </ P >

< href =#  onclick ="changecss(‘css.css‘)" > css.css </ a >
< href =#  onclick ="changecss(‘css1.css‘)" > css1.css </ a >
< href =#  onclick ="changecss(‘css2.css‘)" > css2.css </ a >
< href =#  onclick ="changecss(‘css3.css‘)" > css3.css </ a >
< br >

< select  onchange ="changecss(this.value)" >
< option > 选择样式单文件 </ option >
< script  language ="javascript" >
var  csss = new  Array();
csss[
0 ] = " css.css " ;
csss[
1 ] = " css1.css " ;
csss[
2 ] = " css2.css " ;
csss[
3 ] = " css3.css " ;
var  i;
for (i = 0 ;i < 4 ;i ++ )
    
if (thisskin == csss[i])
          document.write(
" <option value=" " + csss[i] + " " selected> " + csss[i] + " 样式单文件</option> " );
    
else
          document.write(
" <option value=" " + csss[i] + " "> " + csss[i] + " 样式单文件</option> " );
</ script >
</ select >
</ BODY >
</ HTML >


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值