同一页面中多次引用同一个js脚本,存在冲突

时间:2022-11-23 10:00:02
小弟新手上路,请教各位高手一个问题,同一页面中需要多次引用同一个js脚本,将id与变量重命名还是无法正常运行,请高手帮忙了,不胜感激!!

<script type="text/javascript">
var B=BigNews={
current:0,
next:0,
scrollInterval:0,
autoScroller:0
};
BigNews.turn=function(index,obj){
clearInterval(BigNews.autoScroller);
BigNews.scroll(index,obj);
}
BigNews.scroll=function(index,obj){
if(obj.smallpic==null || obj.smallpic==""){
clearInterval(BigNews.autoScroller);
return;
}
var count=0;
var step=obj.step;
var duration=16;
var b=BigNews;
b.next=index;
if(index!=b.current&&count>duration/8){
return;
}
clearInterval(b.scrollInterval);
for(var i=0;i<obj.totalcount;i++){
$(obj.smallpic+"_"+i).className='';
if(obj.pictxt!=null && obj.pictxt!="")
$(obj.pictxt+"_"+i).style.display = "none" ;
}
$(obj.smallpic+"_"+index).className=obj.selectstyle;
if(obj.pictxt!=null && obj.pictxt!="")
$(obj.pictxt+"_"+index).style.display = "block" ;
var span=index-b.current;
var begin_value=$(obj.bigpic).scrollTop;
var chang_in_value=span*step+(b.current*step-begin_value);
b.scrollInterval=setInterval(function(){doit(begin_value,chang_in_value)},10);
function doit(b,c){
$(obj.bigpic).scrollTop=cpu(count,b,c,duration);
count++;
if(count==duration){
clearInterval(BigNews.scrollInterval);
scrollInterval=0;
count=0;
$(obj.bigpic).scrollTop=b+c;
BigNews.current=index;
}
}
function cpu(t,b,c,d) {return c*((t=t/d-1)*t*t+1)+b;};
}
BigNews.auto=function(obj){
clearInterval(BigNews.autoScroller);
BigNews.autoScroller=setInterval(function(){
BigNews.scroll(BigNews.current==(obj.totalcount-1)?0:BigNews.current+1,obj);},obj.autotimeintval);
}
BigNews.pauseSwitch = function() {
clearTimeout(BigNews.autoScroller);
}
BigNews.init=function(obj){
$(obj.bigpic).onmouseover = new Function("BigNews.pauseSwitch();") ;
$(obj.bigpic).onmouseout = new Function("BigNews.auto("+obj.objname+");") ;
for (i=0;i<obj.totalcount;i++) {
if(obj.smallpic!=null && obj.smallpic!="") {
 $(obj.smallpic+"_"+i).onmouseover = new Function("BigNews.turn("+i+","+obj.objname+");BigNews.pauseSwitch();") ;
 $(obj.smallpic+"_"+i).onmouseout = new Function("BigNews.auto("+obj.objname+");") ;
}

BigNews.auto(obj);
}
function $(item){
return document.getElementById(item);
}
</script>

6 个解决方案

#1


为什么要多次应用同一个js文件呢。

#2


是一个广告轮播脚本,同一页面需要多次使用.

#3


轮播页面????

#4


http://mylove11.net/
如该页面, 需要多次用到同样类型的JS轮播脚本,只是轮播的内容图片不一样.
脚本复制成多份,除了更改变量名与函数名外,还需要更改哪些东西?

#5


不用多次引用

#6


但是需要实现,页面上有多个广告轮播插件,内容图片不一样.

#1


为什么要多次应用同一个js文件呢。

#2


是一个广告轮播脚本,同一页面需要多次使用.

#3


轮播页面????

#4


http://mylove11.net/
如该页面, 需要多次用到同样类型的JS轮播脚本,只是轮播的内容图片不一样.
脚本复制成多份,除了更改变量名与函数名外,还需要更改哪些东西?

#5


不用多次引用

#6


但是需要实现,页面上有多个广告轮播插件,内容图片不一样.