js 为空或不是对象的错误

代码如下,因太长分为两段。 代码运行正常的话会在页面中显示出来,但是我的代码没有显示出来。
具体代码如下:

<script type="text/javascript">
<asp:Repeater ID="Repeater13" runat="server">
<ItemTemplate>

var static_array = new Array();
static_array.push({link:'Show_BJ.aspx?ID=<%# Eval("ID")%>', title:'<%# Eval("PinMing")%>',price:'<%# Eval("ChanDi")%>', postDate:'<%# Eval("RiQi")%>', company:'<%# getString(Eval("FaBuGongSi").ToString(),7) %>',phone:'0517-83351331'});
</ItemTemplate>
</asp:Repeater>
</script>

<script type="text/javascript">
<asp:Repeater ID="Repeater14" runat="server">
<ItemTemplate>

var move_array = new Array();
move_array.push({link:'Show_BJ.aspx?ID=<%# Eval("ID")%>', title:'<%# Eval("PinMing")%>',price:'<%# Eval("ChanDi")%>', postDate:'<%# Eval("RiQi")%>', company:'<%# getString(Eval("FaBuGongSi").ToString(),12) %>',phone:'0517-83351331'});
</ItemTemplate>
</asp:Repeater>
</script>
<script type="text/javascript">

var s_t=static_array.length;
var s_d=document.getElementById("fx");
alert("fx");
for(i=0;i<s_t;i++){
var sul;
var sul=document.createElement("ul");
sul.innerHTML='<li class="scroll_title wt25"><img border="0" align="absmiddle" src="images/jian.gif"/> <a href="'+static_array[i].link+'" target="_blank">'+static_array[i].title+'</a></li><li class="scroll_price wt20">'+static_array[i].price+'</li><li class="scroll_postDate wt15">'+static_array[i].postDate+'</li><li class="scroll_company wt15">'+static_array[i].company.substring(0,7)+'</li><li class="scroll_company wt15">'+static_array[i].phone.slice(0,13)+'</li>';
s_d.appendChild(sul);
}

var t=move_array.length;
var r=Math.floor(t/10);
var d=document.getElementById("cg");
var times=0;
for(i=0;i<r;i++){
var div,ul;
div=document.createElement("div");
div.setAttribute("id","div"+i);
div.style.display="none";
for(j=0;j<10;j++){
var ul=document.createElement("ul");
ul.innerHTML='<li class="scroll_title wt25">'+move_array[i*10+j].title+'</li><li class="scroll_price wt20">'+move_array[i*10+j].price+'</li><li class="scroll_postDate wt15">'+move_array[i*10+j].postDate+'</li><li class="scroll_company">'+move_array[i*10+j].company+'</li>';
div.appendChild(ul);
}
d.appendChild(div);
}
var w=r-1;
document.getElementById("div"+w).style.display="";

window.setInterval(function(){
for(i=0;i<=w;i++){document.getElementById("div"+i).style.display="none";
}
times=(times==w)?0:times+1;
document.getElementById("div"+times).style.display="";
},5000);
</script>
错误提示:S_D为空或不是对象

var s_d=document.getElementById("fx");
应该是没有ID为fx的对象或者ID为fx的对象不在该document的控制范围 。
在这句后面加上alert(s_d); 应该打印undefined或者null
如果是的话,
for(i=0;i<s_t;i++)
这句应该就报错误了,介意用firfox的插件调试下。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-30
setTimeout("document.all.dividd.style.display='none'",600);
如果是这么写
会在页面中去找ID为dividd的控件,而页面中没有这样的控件所以会出错
setTimeout("document.all."+dividd+".style.display='none'",600);
这样写才会去找dividd中存储的控件,
如果还有问题发邮件到mascot217@sina.com

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网