关于源代码的问题

来源:1-1 原理介绍

宝慕林6293660

2017-06-13 08:18

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

写回答 关注

2回答

  • 宝慕林6293660
    2017-06-13 20:47:46

    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();    

    }     


  • 刘颜
    2017-06-13 18:10:17

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

焦点图轮播特效

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

65279 学习 · 611 问题

查看课程

相似问题