'null'为空或不是对象
这是一个JS无刷新切换页面风格的例子
skin.js的代码:
function $(obj){
return document.getElementById(obj);
}
var skin={};
skin.addEvent=function(){
var skins =$("skin").getElementsByTagName("li");
for (i=0;i<skins.length;i++)
{
skins[i].onclick=function(){skin.setSkin(this.id.substring(5))};
}
}
skin.setCookie=function(n){
var expires=new Date();
expires.setTime(expires.getTime()+24*60*60*365*1000);
var flag="Skin_Cookie="+n;
document.cookie=flag+";expires="+expires.toGMTString();
}
skin.readCookie=function(){
var skin=0
var mycookie=document.cookie;
var name="Skin_Cookie";
var start1=mycookie.indexOf(name+"=");
if(start1==-1){
skin=0;
}
else{
var start=mycookie.indexOf("=",start1)+1;
var end=mycookie.indexOf(";",start);
if(end=-1){
end=mycookie.length;
}
var values= unescape(mycookie.substring(start,end));
if (values!=null)
{
skin=values;
}
}
return skin;
}
skin.setSkin=function(n){
var skins =$("skin").getElementsByTagName("li");
for (i=0;i<skins.length;i++)
{
skins[i].className="";
}
skin.setCookie(n);
$("skin_"+n).className="selected";
$("cssfile").href="css/main"+n+".css";
}
window.onload=function(){
skin.setSkin(skin.readCookie());
skin.addEvent();
}
页面代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>换肤</title>
<link href="css/default.css" rel="stylesheet" type="text/css" />
<link href="css/main0.css" rel="stylesheet" type="text/css" id="cssfile" />
<script language="JavaScript" src="javascript/skin.js" type="text/javascript"></script>
</head>
<body>
<ul id="skin">
<li id="skin_0" title="灰色">灰色</li>
<li id="skin_1" title="绿色">绿色</li>
<li id="skin_2" title="黄色">黄色</li>
<li id="skin_3" title="蓝色">蓝色</li>
<li id="skin_4" title="粉色">粉色</li>
<li id="skin_5" title="紫色">紫色</li>
</ul>
<div id="div_side_0">
<div id="news">
<h1 class="title">标题1</h1>
<div id="news_list"> </div>
</div>
</div>
<div id="div_side_1">
<div id="game">
<h1 class="title">标题2</h1>
<div id="game_list"> </div>
</div>
</div>
<div id="div_side_2">
<div id="other">
<h1 class="title">标题3</h1>
<div id="other_list"> </div>
</div>
</div>
</body>
</html>
页面报('null'为空或不是对象)这个JS脚本错误,请问改如何改这个JS代码
[最优解释]
或者直接
window.onload=function(){
skin.setSkin(0);
skin.addEvent();
}应该也行
[其他解释]
页面报('null'为空或不是对象)这个JS脚本错误,错误地方是skin.js里的第53行,请问改如何改这个JS代码
[其他解释]
为何没人回答?没人会吗?
[其他解释]
window.onload=function(){
skin.setCookie(0);
skin.setSkin(skin.readCookie());
skin.addEvent();
}
[其他解释]
- -有报错么 我咋没捏
[其他解释]
没问题。。。。
[其他解释]
第1次运行的时候可以,第二次打开页面运行的时候就报JS脚本错误