我用JS写了一个轮播动画,现在在一个页面有两个地方要调用这个方法,调用这个方法后,为什么两个地方的动画就失效了呢,求解!!!急!!!!!!

warmersen 2012-12-01 08:28:53
这个动画的方法,请大家不吝指教,多谢,急!!!!!!!!!
function initanimation(){

var oBox = document.getElementById("box");
var aUl = document.getElementsByTagName("ul");
var aImg = aUl[0].getElementsByTagName("li");
var aNum = aUl[1].getElementsByTagName("li");
var timer = play = null;
var i = index = 0;

//切换按钮
for (i = 0; i < aNum.length; i++)
{
aNum[i].index = i;
aNum[i].onmouseover = function ()
{
show(this.index)
}
}

//鼠标划过关闭定时器
oBox.onmouseover = function ()
{
clearInterval(play)
};

//鼠标离开启动自动播放
oBox.onmouseout = function ()
{
autoPlay()
};

//自动播放函数
function autoPlay ()
{
play = setInterval(function () {
index++;
index >= aImg.length && (index = 0);
show(index);
},5000);
}
autoPlay();//应用

//图片切换, 淡入淡出效果
function show (a)
{
index = a;
var alpha = 0;
for (i = 0; i < aNum.length; i++)aNum[i].className = "";
aNum[index].className = "current";
clearInterval(timer);

for (i = 0; i < aImg.length; i++)
{

aImg[i].style.opacity = 0;
aImg[i].style.filter = "alpha(opacity=0)";

}

timer = setInterval(function () {
alpha += 2;
alpha > 100 && (alpha =100);
aImg[index].style.opacity = alpha / 100;
aImg[index].style.filter = "alpha(opacity = " + alpha + ")";
alpha == 100 && clearInterval(timer)
},20);
}

}
...全文
126 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
warmersen 2012-12-02
  • 打赏
  • 举报
回复
怎么没人顶贴呀...

81,092

社区成员

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

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