我是通过改变<LINK>的href来控制CSS外部文件来实现主题皮肤的更换,但是在主题切换的时候,href改变后而新的CSS文件下载渲染完毕之前会出现短暂的空白,如果CSS文件下载快的话也会有点闪屏的问题,这很影响用户体验,望高手提供好的解决办法!!万分感谢

解决方案 »

  1.   


    关键还有点,更换CSS文件的href后,如果网速慢的时候,会出现两秒空缺CSS样式的空白页面。有什么办法使替换的CSS文件下载完后,才更换href
      

  2.   


    你看看http://my.yahoo.com的change Appearance 下的更换皮肤,它的主题更换效果很好,看有什么想法再给点提示我,谢谢你了
      

  3.   

    给 body一个ID,所有一样式写在同一个样式表里通用的样式前不用加ID,不同的样式前加不同的ID这样,改样式的时候,只要改一下body的ID就行了
      

  4.   

    我觉得就用楼上的想法挺好,每次点击把id变一次,比如  var i = 1;
      var id = "temp"+""+i+"";
    click function(){
       if(i<5){//5中肤色
       i++;
       id = "temp"+""+i+"";
      }else{
        i = 1;
        id= "temp"+""+i+"";
      }
       //设置变颜色或者图片
           
    }
      

  5.   

    应该先确认在于出现空白是取css文件时网络延迟还是浏览器渲染页面造成的吧?如果是网络延迟造成的话,是否可以在网页定义中加入多个css文件解决?如:
    <link rel="stylesheet" type="text/css" href="mystyle1.css" />
    <link rel="stylesheet" type="text/css" href="mystyle2.css" />
    <link rel="stylesheet" type="text/css" href="mystyle_default.css" />让浏览器第一次加载页面时就全部加载mystyle1.css、mystyle2.css、mystyle_default.css,最后mystyle_default.css中相位定位符的定义应该覆盖前面的样式定义。之后再用javascript切换页面样式到mystyle1.css或mystyle2.css。