帮忙看下 切换CSS代码``

bboxcn 2010-07-10 07:09:28
修改css文件路径后 默认样式显示不出来。

修改前正常:
<script language="javascript" type="text/javascript">
<script language="javascript" type="text/javascript">
<!--
var arrCSS=[
["<img src='images/ocean.gif' width='16' height='8' class='themes' alt='Ocean'>","css/ocean.css"],
["<img src='images/tangerine.gif' width='16' height='8' class='themes' alt='Tangerine'>","css/tangerine.css"],
["<img src='images/violet.gif' width='16' height='8' class='themes' alt='Violet'>","css/violet.css"],
["<img src='images/oyster.gif' width='16' height='8' class='themes' alt='Oyster'>","css/oyster.css"],
["<img src='images/grass.gif' width='16' height='8' class='themes' alt='Grass'>","css/grass.css"],
""
];
// *** function to replace href="#" ***
function v(){
return;
}
// *** Cookies ***
function writeCookie(name, value) {
exp = new Date();
exp.setTime(exp.getTime() + (86400 * 1000 * 30));
document.cookie = name + "=" + escape(value) + "; expires=" + exp.toGMTString() + "; path=/";
}
function readCookie(name) {
var search;
search = name + "=";
offset = document.cookie.indexOf(search);
if (offset != -1) {
offset += search.length;
end = document.cookie.indexOf(";", offset);
if (end == -1){
end = document.cookie.length;
}
return unescape(document.cookie.substring(offset, end));
}else{
return "";
}
}
////////////////////////////////////
// StyleSheet
////////////////////////////////////
function writeCSS(){
for(var i=0;i<arrCSS.length;i++){
document.write('<link title="css'+i+'" href="'+arrCSS[i][1]+'" rel="stylesheet" disabled="true" type="text/css" />');
}
setStyleSheet(readCookie("stylesheet"));
}
function writeCSSLinks(){
for(var i=0;i<arrCSS.length-1;i++){
if(i>0) document.write(' ');
document.write('<a href="javascript:v()" onclick="setStyleSheet(\'css'+i+'\')">'+arrCSS[i][0]+'</a>');
}
}
function setStyleSheet(strCSS){
var objs=document.getElementsByTagName("link");
var intFound=0;
for(var i=0;i<objs.length;i++){
if(objs[i].type.indexOf("css")>-1&&objs[i].title){
objs[i].disabled = true;
if(objs[i].title==strCSS) intFound=i;
}
}
objs[intFound].disabled = false;
writeCookie("stylesheet",objs[intFound].title);
}
writeCSS();
setStyleSheet(readCookie("stylesheet"));
</script>




修改后有问题:

<script type="text/javascript">
var arrCSS=[
["<img src='{$template}/images/qiean01.gif' width='10' height='10' class='qiean01' title='绿色风格'>","{$template}/css/s1bbcnsla.css"],
["<img src='{$template}/images/qiean01.gif' width='10' height='10' class='qiean02' title='红色风格'>","{$template}/css/s2bbcnsla.css"],
["<img src='{$template}/images/qiean01.gif' width='10' height='10' class='qiean03' title='紫色风格'>","{$template}/css/s3bbcnsla.css"],
["<img src='{$template}/images/qiean01.gif' width='10' height='10' class='qiean04' title='黑色风格'>","{$template}/css/s4bbcnsla.css"],
""
];
// *** function to replace href="#" ***
function v(){
return;
}
// *** Cookies ***
function writeCookie(name, value) {
exp = new Date();
exp.setTime(exp.getTime() + (86400 * 1000 * 30));
document.cookie = name + "=" + escape(value) + "; expires=" + exp.toGMTString() + "; path=/";
}
function readCookie(name) {
var search;
search = name + "=";
offset = document.cookie.indexOf(search);
if (offset != -1) {
offset += search.length;
end = document.cookie.indexOf(";", offset);
if (end == -1){
end = document.cookie.length;
}
return unescape(document.cookie.substring(offset, end));
}else{
return "";
}
}
////////////////////////////////////
// StyleSheet
////////////////////////////////////
function writeCSS(){
for(var i=0;i<arrCSS.length;i++){
document.write('<link title="css'+i+'" href="'+arrCSS[i][1]+'" rel="stylesheet" disabled="true" type="text/css" />');
}
setStyleSheet(readCookie("stylesheet"));
}
function writeCSSLinks(){
for(var i=0;i<arrCSS.length-1;i++){
if(i>0) document.write(' ');
document.write('<a href="javascript:v()" onclick="setStyleSheet(\'css'+i+'\')">'+arrCSS[i][0]+'</a>');
}
}
function setStyleSheet(strCSS){
var objs=document.getElementsByTagName("link");
var intFound=0;
for(var i=0;i<objs.length;i++){
if(objs[i].type.indexOf("css")>-1&&objs[i].title){
objs[i].disabled = true;
if(objs[i].title==strCSS) intFound=i;
}
}
objs[intFound].disabled = false;
writeCookie("stylesheet",objs[intFound].title);
}
writeCSS();
setStyleSheet(readCookie("stylesheet"));
</script>
...全文
54 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
bboxcn 2010-07-10
  • 打赏
  • 举报
回复
找到原因了 用排除法 去掉页面里这两句 就正常了显示默认样式了:

<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<link rel="Bookmark" href="favicon.ico">

bboxcn 2010-07-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 walkingp 的回复:]
我觉得可能是以下代码中

JScript code
var arrCSS=[
["<img src='{$template}/images/qiean01.gif' width='10' height='10' class='qiean01' title='绿色风格'>","{$template}/css/s1bbcnsla.css"],
["<img src='{$te……
[/Quote]





这个换肤 把这加载css这句<link... 放JS里 JS代码外没有 第1次浏览不显示默认样式 空白, demo里却正常 纳闷。。

<link rel="stylesheet" type="text/css" href="123.css" />
JS里:
<link title="css'+i+'" href="'+arrCSS[i][1]+'" rel="stylesheet" disabled="true" type="text/css" />






之前换肤用的JQuery 那个代码跟网站程序的JS有冲突 没办法换这个
那个外面有<link...这样:


<link rel="stylesheet" type="text/css" id="cssSkin" href="{$template}/css/s1bbcnsla.css" />

<script type="text/javascript">
//检查cookie
if($.cookie("skinID")){
$("#cssSkin").attr("href","{$template}/css/s" + $.cookie("skinID") + "bbcnsla.css");
}
</script>


<script type="text/javascript">
$(function(){
//点击
$(".skinList > li").each(function(){
$(this).click(function(){
var id = $(this).attr("id");
var m = 1;
if(id !== "def"){
m = parseInt(id.slice(-1))+1;
}
var href = "{$template}/css/s" + m + "bbcnsla.css";
$("#cssSkin").attr("href",href);
//设置cookie
$.cookie("skinID",m);
});
});
});
</script>
walkingp 2010-07-10
  • 打赏
  • 举报
回复
我觉得可能是以下代码中
var arrCSS=[
["<img src='{$template}/images/qiean01.gif' width='10' height='10' class='qiean01' title='绿色风格'>","{$template}/css/s1bbcnsla.css"],
["<img src='{$template}/images/qiean01.gif' width='10' height='10' class='qiean02' title='红色风格'>","{$template}/css/s2bbcnsla.css"],
["<img src='{$template}/images/qiean01.gif' width='10' height='10' class='qiean03' title='紫色风格'>","{$template}/css/s3bbcnsla.css"],
["<img src='{$template}/images/qiean01.gif' width='10' height='10' class='qiean04' title='黑色风格'>","{$template}/css/s4bbcnsla.css"],
""
];

{$template}没有替换过来的原因,你用调试工具看下,这个在html中到底是什么。

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧