-淘宝-首页轮播-3.0 Ajax

5 篇文章 0 订阅
2 篇文章 0 订阅

-淘宝-首页轮播-3.0 Ajax

Ajax远程拉取地址:https://www.easy-mock.com/

<div id="box">
        <div class="player"></div>
        <div class="control">
            <span class="s"></span>
            <span></span>
            <span></span>
            <span></span>
        </div>
    </div>
    <script src="/js/jquery-3.2.1.min.js"></script>
    <script>
        //模拟数据
        let as = [], index = 0, timer;
        //ajax远程拉取数据
        $.getJSON("https://www.easy-mock.com/mock/5d2fd2296736a5487dce55ff/list", {}, function (obj) {
            //将模拟数据转换为页面标签元素
            console.log(obj.data.items)
            obj.data.items.forEach(function (e, i) {
                var item = `<a href="${e.href}"><img src="${e.imgUrl}" /></a>`;
                if (i == 0) {
                    as.push(item);
                    as.push(item);
                } else {
                    as.splice(1, 0, item);
                }
            });
            $(".player").html(as.join(""));
        });
        //封装自动轮播启动函数
        function start() {
            index++;
            timer = setInterval(() => {
                var span = $(".control>span").eq(index == 4 ? 0 : index);
                span.addClass("s");
                span.siblings(".s").removeClass("s");
                if (index == 4) {
                    span = $(".control>span").eq(0);
                    $(".player").css("transform", "translateX(-2080px)");
                    setTimeout(() => {
                        $(".player").css("transition", "none");
                        $(".player").css("transform", "translateX(0px)");
                        index = 1;
                    }, 500);
                } else {
                    span = $(".control>span").eq(index);
                    $(".player").css("transition", "all 0.5s ease");
                    $(".player").css("transform", `translateX(${-index++ * 520}px)`);
                }
            }, 3000);
        }
        //封装自动轮播关闭函数
        function stop() {
            clearInterval(timer);
        }
        //页面初始化启动自动轮播
        start();
        //鼠标移至control区域关闭自动轮播,启动手动点击播放
        $(".control").hover(stop, start);
        //点击control内控制点实现点击播放
        $(".control>span").click(function () {
            index = $(this).index();
            $(this).addClass("s");
            $(this).siblings(".s").removeClass('s');
            $(".player").css("transform", `translateX(${-index * 520}px)`);
        });
    </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值