<html>
<head>
<title>title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<SCRIPT language=javascript>
var itemp;
var tobj="";
itemp="";
function leftBgOver(obj){//菜单
obj.style.background="url(images/left_bg02.gif) center no-repeat";
//obj.style.position="center";
//obj.style.repeat="no-repeat":
}
function leftBgOut(obj,sty){
//alert( (sty)?"url(" + sty + ")":"");
if (tobj!="")
{
sty="images/left_bg01.gif";
obj.style.background= (sty)?"url(" + sty + ")":"";
}
else
{
obj.style.background= (sty)?"url(" + sty + ")":"";
}
}
script>
<script language="javascript">
function collapse(obj_td,objid)
{
var obj = document.getElementById(objid);
collapseAll(obj_td);
obj.style.display = 'block';
}
function collapseAll(obj_td)
{
for (var i=1; i<6; i++)
{
var obj = document.getElementById('g_' + i.toString());
if (obj) obj.style.display = 'none';
}
var imgs=document.getElementsByTagName("IMG")
for(i=0;ilength ;i++)
{
if (imgs[i].id=='jj')
{
imgs[i].src="images/ja.gif"
}
}
if(obj_td)obj_td.all[0].src="images/jan.gif"
//alert(obj_td.all[0].innerHTML)
}
function expandAll()
{
for (var i=1; i<6; i++)
{
var obj = document.getElementById('g_' + i.toString());
if (obj) obj.style.display = '';
}
}
function td_bg()
{
var tds=document.getElementsByTagName("TD")
for(var i=0 ;ilength;i++)
{
if (tds[i].background.indexOf("images/left_bg02.gif")>-1)
{
tds[i].background="images/left_bg01.gif"
}
}
var obj=event.srcElement;
while(!(obj.background && obj.background.indexOf("images/left_bg")>-1))
{
obj=obj.parentElement;
if(obj.tagName=="BODY")
{
return;
}
}
obj.background="images/left_bg02.gif"
}
script>
<link href="style/style.css" rel="stylesheet" type="text/css">
<style rel="stylesheet" type="text/css">
body {margin:0px 5px;}
img{border:none;}
.menuall{text-align:center;width:149px;background:#ffffff;}
.menuall div{margin:0px 0 5px 10px;text-align:left;}
style>
head>
<body>
<SCRIPT language=JavaScript>
nereidFadeObjects = new Object();
nereidFadeTimers = new Object();
function nereidFade(object, destOp, rate, delta){
if (!document.all)
return
if (object != "[object]"){
setTimeout("nereidFade("+object+","+destOp+","+rate+","+delta+")",0);
return;
}
clearTimeout(nereidFadeTimers[object.sourceIndex]);
diff = destOp-object.filters.alpha.opacity;
direction = 1;
if (object.filters.alpha.opacity > destOp){
direction = -1;
}
delta=Math.min(direction*diff,delta);
object.filters.alpha.opacity+=direction*delta;
if (object.filters.alpha.opacity != destOp){
nereidFadeObjects[object.sourceIndex]=object;
nereidFadeTimers[object.sourceIndex]=setTimeout("nereidFade(nereidFadeObjects["+object.sourceIndex+"],"+destOp+","+rate+","+delta+")",rate);
}
}
SCRIPT>
<table border="0" cellpadding="0" cellspacing="0" class="menuall" onClick="td_bg()">
<tr>
<td><img src="images/left_top.gif" alt="" />td>
tr>
<tr>
<td>
<a href="javascript:expandAll()" target="_self"><img src="images/extand.gif" alt="展开菜单" onMouseOver=nereidFade(this,100,10,4) style="FILTER:alpha(opacity=50)" onMouseOut=nereidFade(this,50,10,4) />a> <a href="javascript:collapseAll()" target="_self"><img src="images/collapse.gif" alt="收拢菜单" onMouseOver=nereidFade(this,100,10,4) style="FILTER:alpha(opacity=50)" onMouseOut=nereidFade(this,50,10,4) />a>td>
tr>
<tr>
<td id="td_1" height="25" align="left" style="cursor:hand;" onClick="collapse(this,'g_1')"><img src="images/ja.gif" id=jj width="15" height="15" align="absmiddle"><img src="images/tong_01.gif" width="16" height="16" align="absmiddle"><strong> 货单管理strong>td>
tr>
<tr>
<td id="g_1"><table width="100%" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tbody>
<tr>
<td height="30" align="center" background="images/left_bg01.gif" style="cursor:hand" onclick="javascript:parent.right.location.href='pd/pd_sell.asp';"><table cellpadding="0" cellspacing="0" width="100%"><tr><td width="50"> td><td>添加货单td>tr>table>td>
tr>
<tr>
<td height="30" align="center" background="images/left_bg01.gif" style="cursor:hand" onclick="javascript:parent.right.location.href='pd/sell.asp';"><table cellpadding="0" cellspacing="0" width="100%"><tr><td width="50"> td>
<td>货单管理td>tr>table>td>
tr>
tbody>
table>td>
tr>
<tr>
<td height="25" align="left" style="cursor:hand;" onClick="collapse(this,'g_2')"><img src="images/ja.gif" id=jj width="15" height="15" align="absmiddle"><img src="images/tong_01.gif" width="16" height="16" align="absmiddle"><strong> 产品管理strong>td>
tr>
<tr>
<td id="g_2"><table width="100%" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tbody>
<tr>
<td height="30" align="center" background="images/left_bg01.gif" style="cursor:hand" onclick="javascript:parent.right.location.href='pd/pd_add.asp';"><table cellpadding="0" cellspacing="0" width="100%"><tr><td width="50"> td><td>添加产品td>tr>table>td>
tr>
<tr>
<td height="30" align="center" background="images/left_bg01.gif" style="cursor:hand" onclick="javascript:parent.right.location.href='pd/pd.asp';"><table cellpadding="0" cellspacing="0" width="100%"><tr><td width="50"> td><td>产品管理td>tr>table>td>
tr>
<tr>
<td height="30" align="center" background="images/left_bg01.gif" style="cursor:hand" onclick="javascript:parent.right.location.href='st/bigclass.asp';"><table cellpadding="0" cellspacing="0" width="100%"><tr><td width="50"> td><td>产品大类管理td>tr>table>td>
tr>
<tr>
<td height="30" align="center" background="images/left_bg01.gif" style="cursor:hand" onclick="javascript:parent.right.location.href='st/smallclass.asp';"><table cellpadding="0" cellspacing="0" width="100%"><tr><td width="50"> td><td>产品小类管理td>tr>table>td>
tr>
<tr><td height="5">td>tr>
tbody>
table>td>
tr>
<tr>
<td id="g_7"><table width="100%" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
table>td>
tr>
<tr>
<td><img src="images/left_bottom.gif" alt="" />td>
tr>
table>
<div style="font-size:11px;font-family:Tahoma; color:#CEE6FA" align="center">Powered div>
<script>
collapse(td_1,'g_1')
script>
body>html>
出问题的两行代码 在IE6下没问题,在现在的win7的 IE11 360 Firefox等浏缆器上会报错如下,请问各位大老要如何解决,谢谢
50行代码:
if(obj_td)obj_td.all[0].src="images/jan.gif"
menu.asp:50 Uncaught TypeError: Cannot read property '0' of undefined
at collapseAll (menu.asp:50)
at collapse (menu.asp:32)
at menu.asp:238
67行代码:
if (tds[i].background.indexOf("images/left_bg02.gif")>-1)
menu.asp:67 Uncaught TypeError: Cannot read property 'indexOf' of undefined
at td_bg (menu.asp:67)
at HTMLTableElement.onclick (menu.asp:117)
原生 js 啊
if (tds[i].style.background.indexOf("images/left_bg02.gif")>-1) // style 内设置的样式,通过 style 来读取和设置
{
tds[i].style.background="images/left_bg01.gif"
// 我调试了下,没发现 obj_td 是多个数据,仅仅就一个 td,不要用 all[0] 了,直接写
obj_td.src="images/jan.gif"
在IE6中,可能不会出现这些错误,但在现代浏览器中,它们可能会更严格地执行JavaScript规范。
在50行代码中,如果obj_td未定义,尝试读取其子元素all[0]将导致错误。可以使用if语句或三元运算符来检查obj_td是否为undefined或null,然后再尝试访问其子元素。
修改后的代码如下所示:
if (obj_td && obj_td.all) {
obj_td.all[0].src = "images/jan.gif";
}
在67行代码中,tds[i]的background属性可能未定义,因此在尝试调用其indexOf方法时会出现错误。可以使用if语句或三元运算符来检查tds[i]的background属性是否已定义,并且在尝试访问其子元素之前执行此操作。
修改后的代码如下所示:
if (tds[i] && tds[i].background && tds[i].background.indexOf("images/left_bg02.gif") > -1) {
// some code here
}