【jQuery笔记Part4】04-jQuery案例-轮播图

jQuery案例-大屏焦点图-节点操作

jQuery笔记目录

案例简介

轮播图;
点击浏览器左侧,则,展示左边一个图片,
点击浏览器右侧,则,展示右边一个图片,
越界循环 1左->4,4右->1

静态页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>大屏焦点图-节点操作</title>
    <style>
        * {padding: 0;margin: 0;list-style: none;}
        .box {
            width: 520px;height: 280px;margin: 100px auto;
            border: 1px solid #cccccc;overflow: hidden;
        }
        .box>ul {position: relative;}
        .box>ul>li {position: absolute;left: 0;top: 0;}
        .box>ul>li>img {width: 520px;height: 280px;}
    </style>
</head>
<body>


<div class="box">
    <ul>
        <li><img src="images/01.jpg"></li>
    </ul>
</div>
</body>
</html>

界面:
在这里插入图片描述

添加事件

$(function () {
    /*
      要求:
      点击浏览器左侧,则,展示左边一个图片
      点击浏览器右侧,则,展示右边一个图片
      越界循环  1左->4,4右->1
    */
    //1.准备数据源
    var imageNames = []
    for (var i = 1; i < 5; i++){
        imageNames.push('images/0' + i + '.jpg');
    }
    // console.log(imageNames);

    //2.设置当前的索引
    var currentShowImgIndex = 0;

    //3.监听点击
    $(document).click(function (event) {
        //3.1变量
        var middleX = $(window).width() * 0.5; // 当前屏幕的一半
        var isLeft = false; // 是否左边

        //3.2判断
        // console.log(event.pageX);
        if(event.pageX <= middleX){ // 左边
            currentShowImgIndex  = (currentShowImgIndex - 1 + imageNames.length) % imageNames.length;
            isLeft = true
        }else{  // 右边
            currentShowImgIndex = (currentShowImgIndex + 1) % imageNames.length;
            isLeft = false;
        }

        //3.3创建节点,放在 ul 的最前面
        var imageNmae = imageNames[currentShowImgIndex];
        var $newTag = $('.box>ul>li').clone();
        $newTag.children('img').attr('src',imageNmae);
        $('.box>ul').prepend($newTag);

        // 3.4动画展示和消除
        if(isLeft){ // 鼠标点击左边
            $('.box>ul>li:last').animate({ // 拿到最后一个 li 标签
                width:'-520px'
            },200,function () {
                $(this).remove()
            });
        }else { // 鼠标点击右边
            $('.box>ul>li:last').animate({
                width:'520px'
            },200,function () {
                $(this).remove()
            });
        }

    });

运行效果:
鼠标点击屏幕左侧,则当前图片向左划消失,右边的图出现在屏幕上。
鼠标点击屏幕右侧,则当前图片向右划消失,左边的图出现在屏幕上。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萌宅鹿同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值