为了账号安全,请及时绑定邮箱和手机立即绑定

关于源代码的问题

我用这份js代码做了两个不同尺寸的轮播图,为什么只有一个有效果?另一个就没有效果?

正在回答

2 回答

window.onload = function () {    

var container = document.getElementById('container');    

var list = document.getElementById('list');    

var buttons = document.getElementById('buttons').getElementsByTagName('span');    

var prev = document.getElementById('prev');    

var next = document.getElementById('next');    

var index = 1;    

var len = 5;    

var animated = false;    

var interval = 3000;    

var timer;    

function animate (offset) {    

if (offset == 0) {    

return;    

}    

animated = true;    

var time = 300;    

var inteval = 10;    

var speed = offset/(time/inteval);    

var left = parseInt(list.style.left) + offset;    

var go = function (){    

if ( (speed > 0 && parseInt(list.style.left) < left) || (speed < 0 && parseInt(list.style.left) > left)) {    

list.style.left = parseInt(list.style.left) + speed + 'px';    

setTimeout(go, inteval);    

}    

else {    

list.style.left = left + 'px';    

if(left>-200){    

list.style.left = -600 * len + 'px';    

}    

if(left<(-600 * len)) {    

list.style.left = '-600px';    

}    

animated = false;    

}    

}    

go();    

}    

function showButton() {    

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

if( buttons[i].className == 'on'){    

buttons[i].className = '';    

break;    

}    

}    

buttons[index - 1].className = 'on';    

}    

function play() {    

timer = setTimeout(function () {    

next.onclick();    

play();    

}, interval);    

}    

function stop() {    

clearTimeout(timer);    

}    

next.onclick = function () {    

if (animated) {    

return;    

}    

if (index == 5) {    

index = 1;    

}    

else {    

index += 1;    

}    

animate(-600);    

showButton();    

}    

prev.onclick = function () {    

if (animated) {    

return;    

}    

if (index == 1) {    

index = 5;    

}    

else {    

index -= 1;    

}    

animate(600);    

showButton();    

}    

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

buttons[i].onclick = function () {    

if (animated) {    

return;    

}    

if(this.className == 'on') {    

return;    

}    

var myIndex = parseInt(this.getAttribute('index'));    

var offset = -600 * (myIndex - index);    

animate(offset);    

index = myIndex;    

showButton();    

}    

}    

container.onmouseover = stop;    

container.onmouseout = play;    

play();    

}     


0 回复 有任何疑惑可以回复我~

代码没给出,怎么会知道呀

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
焦点图轮播特效
  • 参与学习       65286    人
  • 解答问题       611    个

通过本教程学习您将能掌握非常实用的焦点图轮播特效的制作过程

进入课程

关于源代码的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信