我有个滑门用的JS,在同一个页面里面用了2次,起了冲突

zuozi 2009-11-21 04:25:56
我有个滑门用的JS,在同一个页面里面用了2次,起了冲突
麻烦大侠帮我检查检查 感激不尽!

第一次使用:
var Tags=document.getElementById('NewsTop_tit').getElementsByTagName('p');
var TagsCnt=document.getElementById('NewsTop_cnt').getElementsByTagName('span');
var len=Tags.length;
var flag=1;//修改默认值
for(i=1;i<len;i++){
Tags[i].value = i;
Tags[i].onmouseover=function(){changeNav(this.value)};
TagsCnt[i].className='undis';
}
Tags[flag].className='topC1';
TagsCnt[flag].className='dis';
function changeNav(v){
Tags[flag].className='topC0';
TagsCnt[flag].className='undis';
flag=v;
Tags[v].className='topC1';
TagsCnt[v].className='dis';
}

第二次使用:
var Tags=document.getElementById('YiyuanTop_tit').getElementsByTagName('p');
var TagsCnt=document.getElementById('YiyuanTop_cnt').getElementsByTagName('span');
var len=Tags.length;
var flag=1;//修改默认值
for(v=1;v<len;v++){
Tags[v].value = v;
Tags[v].onmouseover=function(){changeNav(this.value)};
TagsCnt[v].className='yyundis';
}
Tags[flag].className='yytop1';
TagsCnt[flag].className='yydis';
function changeNav(i){
Tags[flag].className='yytop0';
TagsCnt[flag].className='yyundis';
flag=i;
Tags[i].className='yytop1';
TagsCnt[i].className='yydis';
}

大侠帮我看看这2个js什么地方起冲突了啊 谢谢啊
...全文
86 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
avengercf 2009-11-23
  • 打赏
  • 举报
回复
2个问题,1.你用了同名全局变量,2你用了同名FUNCTION 一般第2次会覆盖第一次的。
建议你用JS中prototype来做将脚本封装
robin611 2009-11-22
  • 打赏
  • 举报
回复
只看了两行,你这ID取的都一样?

var Tags=document.getElementById('NewsTop_tit').getElementsByTagName('p');
var TagsCnt=document.getElementById('NewsTop_cnt').getElementsByTagName('span');

你要用在不同地方,起码ID应该不一样吧。要不你把整个HTML页面给我发过来,如果明天有空的话我可以帮你看看,robin611@163.com
veboys 2009-11-22
  • 打赏
  • 举报
回复
这种东西你用类来实现啊
zhangshaolongjj 2009-11-22
  • 打赏
  • 举报
回复
第一次使用:
var Tags=document.getElementById('NewsTop_tit').getElementsByTagName('p');
var TagsCnt=document.getElementById('NewsTop_cnt').getElementsByTagName('span');
var len=Tags.length;
var flag=1;//修改默认值
for(i=1;i <len;i++){
Tags[i].value = i;
Tags[i].onmouseover=function(){changeNav(this.value)};
TagsCnt[i].className='undis';
}
Tags[flag].className='topC1';
TagsCnt[flag].className='dis';
function changeNav(v){
Tags[flag].className='topC0';
TagsCnt[flag].className='undis';
flag=v;
Tags[v].className='topC1';
TagsCnt[v].className='dis';
}

第二次使用:
var Tags=document.getElementById('YiyuanTop_tit').getElementsByTagName('p');
var TagsCnt=document.getElementById('YiyuanTop_cnt').getElementsByTagName('span');
var len=Tags.length;
var flag=1;//修改默认值
for(v=1;v <len;v++){
Tags[v].value = v;
Tags[v].onmouseover=function(){changeNav(this.value)};
TagsCnt[v].className='yyundis';
}
Tags[flag].className='yytop1';
TagsCnt[flag].className='yydis';
function changeNav(i){
Tags[flag].className='yytop0';
TagsCnt[flag].className='yyundis';
flag=i;
Tags[i].className='yytop1';
TagsCnt[i].className='yydis';
}


最主要的就是你的2个FUNCTION名字冲突了,还有你的变量名字最好也别起一样的!!
zuozi 2009-11-21
  • 打赏
  • 举报
回复
怎么没有高手来帮我检查一下啊 来个高手吧 谢谢了

87,994

社区成员

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

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