提高代码效率,构建demo提纲之jQuery轮播图实现的全流程

前言

      对于一名前端开发的初学者来说,实现一个新的需求总会遇到没思路的情况,那么就需要梳理好脉络,想实现哪些效果,用些什么怎么去实现,中途可能会遇到哪些问题,在遇到bug时也按照这个流程再捋一遍。下面我将以j用Query写轮播图全流程为例子。

思维流程

1.需要实现哪些效果

  • 自动播放到下一张图片
  • 点击按钮后跳转到对应图片
  • 无论是自动播放还是点击按钮跳转到对应图片,移动到对应的图片后按钮同时也变成图片对应的按钮且按钮的颜色改变
    在这里插入图片描述
  • 鼠标移入图片时,自动播放停止;鼠标移出图片时,自动播放继续

2.实现这些效果需要用到哪些

  • 首先需要绑定事件。触发这些效果需要绑定哪些标签?按钮 和 图片区域
  • 自动播放-----需要定时器setInterval
  • 点击按钮跳转-----click,移入停止------mouseenter +清除定时器,移出继续---------mouseleave +重新运行定时器
  • 图片移动-----animate
  • 图片与按钮一一对应-------选择下标eq($(this).index()) this指代的就是图片区域
  • 按钮颜色随图片移动而改变------属性选择器attr(),先清除掉原有设定的,然后设置点击按钮时颜色改变,自动播放时按钮颜色改变,那么只需将空的class变成预设的active

3.遇到的问题

  • 下标是从0开始,而按钮是从1开始。那么移动过程中就会出现问题。那么如何解决呢?当移动到最后一个下标时移动到第一张图,并且下标也变会到0.

轮播图的核心就是切换 图片怎么处理,按钮怎么处理
下图是本人当时敲轮播图简要写的提纲:
在这里插入图片描述
使用jQuery不要忘记引入jQuery文件

源代码

jQuery部分

$(document).ready(function() {
   
    var btn = $(".container").find("ol").find("li");
    var ul = $(".container").find("ul");
    // 绑定事件
    var timer = 0; //定时器初始值
    var iNow = 0; //当前显示图片的下标
    btn.click(function() {
   
        // 当点击按钮时触发
        iNow = $(this).index(); //iNow =当前点击的下标
        tab();
    })
    $(".container").mouseenter(function() {
   
        clearInterval(timer);
    }).mouseleave(function() {
   
        tim
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值