一个页面有2处图片轮播的地方,调用同一段JS只能有一处能正常实现,~尝试过吧方法名和变量名都改了还是不行。高手帮我解决下,先谢谢了HTML代码:
<div id="hot_sale_lb>
<dl class="now">
<dd><a href="###"><img src="images/producupic/lunbo-1.jpg" title=""></a></dd>
</dl>
<dl style="display:none">
<dd><a href="###"><img src="images/producupic/lunbo-2.jpg" title=""></a></dd>
</dl>
<dl style="display:none">
<dd><a href="###"><img src="images/producupic/lunbo-3.jpg" title=""></a></dd>
</dl>
<dl style="display:none">
<dd><a href="###"><img src="images/producupic/lunbo-4.jpg" title=""></a></dd>
</dl>
<ul class="clearfix">
<li class="now"><a href="###">1</a></li>
<li><a href="###">2</a></li>
<li><a href="###">3</a></li>
<li><a href="###">4</a></li>
</ul>
</div> JS代码:
<script>
function $(id){return document.getElementById(id)}//获取ID节点的简介方法
var tags=$("lunbo").getElementsByTagName("li");//获取切换按钮节点
var cats=$("lunbo").getElementsByTagName("dl");//获取切换内容节点var current=null;//设置当前帧的变量容器
var timer=8000;//
var op=0;
function disAll(){//初始所有标签样式
for(var i=0; i<tags.length; i++){
tags[i].className="";
cats[i].className="";
cats[i].style.display="none";
}
}
function setNow(){//获取当前帧的索引值
for(var i=0; i<tags.length; i++){
if(tags[i].className=="now"){
current=i;
}
}
}
for(var j=0; j<tags.length; j++){//设置手动切换
tags[j].onmouseover=function(){
show();
clearInterval(h);
disAll();
this.className="now";
setNow();
cats[current].style.display="block";
cats[current].className="now";
}
tags[j].onmouseout=function(){
setNow();
}
}
function goNext(){//自动切换
setNow();//获取当前帧索引
current+=1;//帧自增1
if(current>=tags.length){//判断:如果当前帧索引值是否大于切换按钮总数,如果大于按钮总数则回到初始状态
current=0;
disAll();
show();
cats[0].style.display="block";
tags[0].className="now";
cats[0].className="now";
}
else{
disAll();
show();
cats[current].style.display="block";
cats[current].className="now";
tags[current].className="now";
}
}
var h=setInterval("goNext()",timer)//开始自动切换
//渐变效果 only for FF
function show(){
op+=20;
if(op>100){
op=0;
clearTimeout(t);
h=setInterval("goNext()",timer);
}
else{
clearInterval(h);
var t=setTimeout("show()",100);
}
}
</script>
<div id="hot_sale_lb>
<dl class="now">
<dd><a href="###"><img src="images/producupic/lunbo-1.jpg" title=""></a></dd>
</dl>
<dl style="display:none">
<dd><a href="###"><img src="images/producupic/lunbo-2.jpg" title=""></a></dd>
</dl>
<dl style="display:none">
<dd><a href="###"><img src="images/producupic/lunbo-3.jpg" title=""></a></dd>
</dl>
<dl style="display:none">
<dd><a href="###"><img src="images/producupic/lunbo-4.jpg" title=""></a></dd>
</dl>
<ul class="clearfix">
<li class="now"><a href="###">1</a></li>
<li><a href="###">2</a></li>
<li><a href="###">3</a></li>
<li><a href="###">4</a></li>
</ul>
</div> JS代码:
<script>
function $(id){return document.getElementById(id)}//获取ID节点的简介方法
var tags=$("lunbo").getElementsByTagName("li");//获取切换按钮节点
var cats=$("lunbo").getElementsByTagName("dl");//获取切换内容节点var current=null;//设置当前帧的变量容器
var timer=8000;//
var op=0;
function disAll(){//初始所有标签样式
for(var i=0; i<tags.length; i++){
tags[i].className="";
cats[i].className="";
cats[i].style.display="none";
}
}
function setNow(){//获取当前帧的索引值
for(var i=0; i<tags.length; i++){
if(tags[i].className=="now"){
current=i;
}
}
}
for(var j=0; j<tags.length; j++){//设置手动切换
tags[j].onmouseover=function(){
show();
clearInterval(h);
disAll();
this.className="now";
setNow();
cats[current].style.display="block";
cats[current].className="now";
}
tags[j].onmouseout=function(){
setNow();
}
}
function goNext(){//自动切换
setNow();//获取当前帧索引
current+=1;//帧自增1
if(current>=tags.length){//判断:如果当前帧索引值是否大于切换按钮总数,如果大于按钮总数则回到初始状态
current=0;
disAll();
show();
cats[0].style.display="block";
tags[0].className="now";
cats[0].className="now";
}
else{
disAll();
show();
cats[current].style.display="block";
cats[current].className="now";
tags[current].className="now";
}
}
var h=setInterval("goNext()",timer)//开始自动切换
//渐变效果 only for FF
function show(){
op+=20;
if(op>100){
op=0;
clearTimeout(t);
h=setInterval("goNext()",timer);
}
else{
clearInterval(h);
var t=setTimeout("show()",100);
}
}
</script>
解决方案 »
- 一个JS传递动态变量的问题,求高手解答!
- 点击一个flash的时候浏览器提示“阻止了一个弹出窗口……”,怎样让浏览器不弹出安全提示直接打开链接?
- ajax长轮询时,页面的所有事件都卡住不能触发
- js框架,是选择extjs,prototype还是jq
- 关于jquery中ajax请求
- 有什么js函数可以获取和操作文本节点,注释节点
- 求指教。javascript
- 在网页中使用OCX组件 结果在本页打开没问题 弹出窗口打开时 CPU使用率为100% 然后页码无法点击
- jquery设置easyui-combobox只读属性
- 新手求助: 脚本语言检查用户和密码
- 用JQUERY getJSON 跨域拿 HTML代码 怎么拿啊,我这个例子没成功
- 谷歌js读取xml无法执行
var xx = new XX();
xx.xx();
的方式去调用另外,你html的标签,id都一样,当然会出问题