js代码是:
var MyXML = new function (){ this.GetXML = function (file){ XML_PutObj = new ActiveXObject("Microsoft.XMLDOM");
XML_PutObj.async= false;
XML_PutObj.load( file + "?" + ESD.GetDate(0) ); return XML_PutObj;
}; //处理XML编码特殊字符
this.XMLEncode = function (str){
str = str.replace(/&/g,"");
str = str.replace(/</g,"");
str = str.replace(/>/g,"");
str = str.replace(/"/g,"");
str = str.replace(/'/g,"");
return str;
};
this.XMLDecode = function (str){
str = str.replace(/&amp;/g, "&");
str = str.replace(/&lt;/g, "<");
str = str.replace(/&gt;/g, ">");
str = str.replace(/&quot;/g,"\"");
str = str.replace(/&apos;/g,"'");
return str;
};
};var ESD = new function (){ this.GetDate = function (n){ //日期函数
var strDate = new Date;
switch (n){
//case 0 : return (strDate.getYear() ); break; // 获取当前年份 (2位)
//case 2 : return (strDate.getMonth() ); break; // 获取当前月份 (0-11,0代表1月)
//case 4 : return (strDate.getDay() ); break; // 获取当前星期X (0-6,0代表星期天)
//case 2 : return (strDate.getDate() ); break; // 获取当前日 (1-31)
//case 1 : return (strDate.getFullYear() ); break; // 获取完整的年份 (4位,1970-????)
//case 2 : return (strDate.getHours() ); break; // 获取当前小时数 (0-23)
//case 3 : return (strDate.getMinutes() ); break; // 获取当前分钟数 (0-59)
//case 4 : return (strDate.getSeconds() ); break; // 获取当前秒数 (0-59)
//case 5 : return (strDate.getMilliseconds() );break; // 获取当前毫秒数 (0-999)
case 0 : return (strDate.getTime() ); break; // 获取当前时间 (从1970.1.1开始的毫秒数)
case 1 : return (strDate.toLocaleString() ); break; // 2009年4月20日 星期一 22:41:54 
case 2 : return (strDate.toLocaleDateString() ); break; // 2009年4月20日 星期一 
case 3 : return (strDate.toLocaleTimeString() ); break; // 22:43:45
}
}; this.WinOpen = function (strURL,n){ //窗口打开方式,常用于下拉列表链接,如友情链接等
if (strURL == ""){return false;}
if (strURL.indexOf("?") < 0){strURL += "?";}else{strURL += "&";}
strURL += this.GetDate(0);
if (n){
window.open(strURL ,"_self");}
else{
window.open(strURL);}
}; this.$ = function (Id) {return(document.getElementById(Id));};
this.$n = function (Name) {return(document.getElementsByName(Name));};
};function setImg(I, IMG){
ESD.$("JIAKE_TopImg").src = "XML/images/" + IMG.src;
IMG.style.backgroundColor = I ? "#EEEEEE" : "transparent";
}var root = MyXML.GetXML("XML/JiaKe.xml");
var obj = root.getElementsByTagName("活动");
var n, m;for (n=0; n<obj.length; n++)
{
document.write("<tr src=\"" + obj[n].getAttribute("图片") + "\" onmouseover=\"setImg(1,this);\" onmouseout=\"setImg(0, this);\"><td>" + obj[n].getAttribute("名称") + "</td><td>" + obj[n].getAttribute("广告商") + "</td><td>" + obj[n].getAttribute("要求") + "</td><td>" + obj[n].getAttribute("报名") + "</td><td>" + obj[n].getAttribute("期限") + "</td></tr>");
}xml 里的内容是
<?xml version="1.0" encoding="GB2312"?>
<甲客>
<活动 名称="名称1" 广告商="广告商1" 图片="syp.jpg" 要求="要求" 报名="长期可报名" 期限="60天" link="http://www.…….com/" />
<活动 名称="名称2" 广告商="无"               图片="005.jpg" 要求="11" 报名="无期限" 期限="无期限" link="http://www.…….com/" />
<活动 名称="名称3" 广告商="无"         图片="004.jpg" 要求="11" 报名="无期限" 期限="30天" link="http://www.…….com" />
<活动 名称="公益活动" 广告商="甲客车身宣传" 图片="003.jpg" 要求="11辆" 报名="无截止时间" 期限="30天" link="" />
<活动 名称=" 11" 广告商="甲客后档宣传" 图片="002.jpg" 要求="11" 报名="无截止时间" 期限="30天" link="" />
<活动 名称="22" 广告商="33" 图片="001.jpg" 要求="11"    报名="无截止时间" 期限="无" link="" />
</甲客>
页面效果就是当你的鼠标移动到文字的时候,上面的图片就变成相对应那张,但是我不知道怎样才能让跳出来的图片带上超链接。之前效果图是这样的
我不知道改怎么加,请各位大侠指点指点啊!谢谢了

解决方案 »

  1.   

    for (n=0; n<obj.length; n++)
    {
        document.write("<tr src=\"" + obj[n].getAttribute("图片") + "\" onmouseover=\"setImg(1,this);\" onmouseout=\"setImg(0, this);\"><td>" + obj[n].getAttribute("名称") + "</td><td>" + obj[n].getAttribute("广告商") + "</td><td>" + obj[n].getAttribute("要求") + "</td><td>" + obj[n].getAttribute("报名") + "</td><td>" + obj[n].getAttribute("期限") + "</td></tr>");
    }不知道是不是在这段代码里做修改,用这个读取图片setImg(0, this);
    用obj[n].getAttribute("link")读取链接吧,但是应该不能做到对每张图片各对应的链接,因为这个js不是我写的,我也不是很了解。所以请大家帮我看看吧
      

  2.   

    图片的外部带上<a>标签就有连接了,像这样<a href=""><img src=""></a>
    代码不全猜不出到底要什么效果。
    ESD.$("JIAKE_TopImg")不好猜。看这点代码就是换src,不知道是否是使用表格的背景来设置图片。
      

  3.   

    可以将你的所说的那段文字放到<td>中,然后设置鼠标的onmouseover事件,调用js函数根据参数将图片所在的<img/>标签中的src参数换掉,这只是我自己的想法,仅供参考,而且这么做不知道可能还要让浏览器自动刷新一次吧,不刷的话不知道图片会不会出来。
      

  4.   

    for (n=0; n<obj.length; n++) { 
    //这里为tr添加一个自定义的属性link,跟src一样,值为xml文档的节点属性link
    document.write("<tr src=\"" + obj[n].getAttribute("图片") + "\" onmouseover=\"setImg(1,this);\" onmouseout=\"setImg(0, this);\"><td>" + obj[n].getAttribute("名称") + "</td><td>" + obj[n].getAttribute("广告商") + "</td><td>" + obj[n].getAttribute("要求") + "</td><td>" + obj[n].getAttribute("报名") + "</td><td>" + obj[n].getAttribute("期限") + "</td></tr>"); }//为图片标签添加链接,id为link1
    //<a id="link1"><img id="JIAKE_TopImg" src=""/></a>
    function setImg(I, IMG){
        ESD.$("JIAKE_TopImg").src    = "XML/images/" + IMG.src;
    //这里改变链接的href属性值
    ESD.$("link1").href =  IMG.link;
        IMG.style.backgroundColor    = I ? "#EEEEEE" : "transparent";
    }