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

分享一下成功了的js代码~~

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;

    /**
     * 左右切换函数
     * @param offset 左右的偏移量
     */
    var offsetL = 0;
    function animate(offset) {
        var oldLeft = parseInt(list.style.left);
        var newLeft = oldLeft + offset;
        offsetL = oldLeft;
        var interval = null;
        var intervalNum = 10;

        //console.log('offsetL: ' + offsetL);
        //console.log('newLeft: ' + newLeft);

        // 向左切换动画
        if((offset > 0) && (offsetL < newLeft)) {
            //console.log('左');
            interval = setInterval(function () {
                offsetL += offset/(300/intervalNum); // 300为移动的总时间

                //console.log(offsetL);

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

                if(offsetL == newLeft) {
                    clearInterval(interval);

                    // 两个if语句实现了无限滚动
                    if(newLeft > -600) {
                        list.style.left = -3000 + 'px';
                    }

                    if(newLeft < -3000) {
                        list.style.left = -600 + 'px';
                    }
                }
            }, intervalNum);
        }

        // 向右切换动画
        if((offset < 0) && (offsetL > newLeft)) {
            //console.log('右');
            interval = setInterval(function () {
                offsetL -= -offset/(300/intervalNum); // 300为移动的总时间

                //console.log(offsetL);

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

                if(offsetL == newLeft) {
                    clearInterval(interval);
                    // 两个if语句实现了无限滚动
                    if(newLeft > -600) {
                        list.style.left = -3000 + 'px';
                    }

                    if(newLeft < -3000) {
                        list.style.left = -600 + 'px';
                    }
                }
            }, intervalNum);
        }
    }

    /**
     * 小圆点切换函数
     */
    function buttonsCtrl() {
        for(var i = 0;i < buttons.length;i++) {
            if(buttons[i].className == 'on') {
                buttons[i].className = '';
            }
        }
        buttons[index - 1].className = 'on';
    }


    // 左右切换的功能
    next.onclick = function () {
        if(index == 5) {
            index = 1;
        }else {
            index++;
        }
        buttonsCtrl();

        animate(-600);
    };

    prev.onclick = function () {
        if(index == 1) {
            index = 5;
        }else {
            index--;
        }
        buttonsCtrl();

        animate(600);
    };

    /**
     * 点击小圆点切换焦点图
     */
    for(var i = 0;i < buttons.length;i++) {
        buttons[i].onclick = function () {
            if(this.className == 'on') {
                return; // 后面的语句不会再执行了,一直到buttonCtrl()都不会再执行
            }
            var myIndex = this.getAttribute('index');
            var offset = -600 * (myIndex - index);
            animate(offset);

            // index 更新到最新
            index = myIndex;

            // 小圆点变成橙色
            buttonsCtrl();
        };
    }
};


正在回答

2 回答

在,求帮忙?

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

直接下载源代码不久好了?

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

举报

0/150
提交
取消

分享一下成功了的js代码~~

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