jquery实现垂直无限轮播的方法分析


Posted in jQuery onJuly 16, 2019

本文实例讲述了jquery实现垂直无限轮播的方法。分享给大家供大家参考,具体如下:

javascript垂直轮播,依赖于jquery实现的,并且首尾无缝衔接。原理很简单,就不讲述了,直接贴源码。

1.HTML节点

<div class="banner_group">
    <ul id="banner">
      <!-- 缓存末项,实现滑动到最开始后,无限轮播 -->
      <li style="background-color: chartreuse">第四页</li>
      <li style="background-color: #f6894d">第一页</li>
      <li style="background-color: royalblue">第二页</li>
      <li style="background-color: red">第三页</li>
      <li style="background-color: chartreuse">第四页</li>
      <!-- 缓存首项,实现滑动到最后过后,无限轮播 -->
      <li style="background-color: #f6894d">第一页</li>
    </ul>
    <div class="scrollPageBtn">
      <div style="width: 100%;height: 100%;position: relative;">
        <label id="last" style="width:100%;position: absolute;top: 0;text-align: center">↑</label>
        <label id="next" style="width:100%;position: absolute;bottom: 0;text-align: center">↓</label>
      </div>
    </div>
</div>

2.CSS样式

<style>
    body{
      margin:0;
      padding: 0;
    }
    .banner_group{
      width: 300px;
      height: 500px;
      overflow: hidden;
      position: relative;
    }
    .scrollPageBtn{
      width: 30px;
      height: 100%;
      position: absolute;
      top: 0;
      left: 40%;
      background-color: #b2b2b2;
      opacity: 0.2;
    }
    ul{
      list-style: none;
      width: 100%;
      height: 100%;
      margin: 0;
      padding: 0;
      position: relative;
    }
    ul li{
      width: 100%;
      height: 100%;
      color: white;
      font-size: 25px;
    }
</style>

3.JQuery准备

<!-- 引入jquery -->
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>

4.JavaScript代码

<script>
    var index = 0; // 保存当前所在项
    /* 是否允许点击滑动动画,如果正在执行动画的过程中,
    则禁止点击,如果动画完成后,则允许点击,
    避免由于连点,出现画面不正常问题. */
    var allowClick = true; //
    // 页面加载完成后调用
    $(function(){
      index = 1; // 初始显示第2项
  /* 注意:第一项是用来缓存末项的,实现无缝连接准备的,所以最开始显示的应该是第2项 */
      $("#banner").css("bottom", "500px"); // 准备初始显示项
  // 上一页
      $("#last").on("click", function(){
        if(allowClick){
          allowClick = false;
          index--; // 上一页,--
   // 如果已经到了最开始过后,动画完成后,定位到末项
          if(index == 0){
            $("#banner").animate({bottom: (index * 500) + 'px'}, "fast", "swing", function () {
              index = 4;
              $("#banner").css("bottom", "2000px"); // 定位到末项
              allowClick = true;
            });
          }else{
            $("#banner").animate({bottom: (index * 500) + 'px'}, "fast", "swing", function () {
              allowClick = true;
            });
          }
        }
      });
  // 下一页
      $("#next").on("click", function(){
        if(allowClick){
          allowClick = false;
          if(index <= 5){
            index ++; // 下一页++
            if(index == 5){
              $("#banner").animate({bottom: (index * 500) + 'px'}, "fast", "swing", function () {
                index = 1;
                $("#banner").css("bottom", "500px");
                allowClick = true;
              });
            }else{
              $("#banner").animate({bottom: (index * 500) + 'px'}, "fast", "swing", function () {
                allowClick = true;
              });
            }
          }
        }
      });
    });
</script>

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
jquery dataTable 后台加载数据并分页实例代码
Jun 07 jQuery
jQuery.Ajax()的data参数类型详解
Jul 23 jQuery
React中jquery引用的实现方法
Sep 12 jQuery
jQuery plugin animsition使用小结
Sep 14 jQuery
jQuery实现的事件绑定功能基本示例
Oct 11 jQuery
JavaScript自执行函数和jQuery扩展方法详解
Oct 27 jQuery
jquery ztree实现右键收藏功能
Nov 20 jQuery
jQuery实现动态控制页面元素的方法分析
Dec 20 jQuery
jQuery实现常见的隐藏与展示列表效果示例
Jun 04 jQuery
jquery ajax加载数据前台渲染方式 不用for遍历的方法
Aug 09 jQuery
jQuery实现王者荣耀手风琴效果
Jan 17 jQuery
jquery实现简单每周轮换的日历
Sep 10 jQuery
JQuery实现简单的复选框树形结构图示例【附源码下载】
Jul 16 #jQuery
jquery实现自定义树形表格的方法【自定义树形结构table】
Jul 12 #jQuery
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
Jul 11 #jQuery
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
Jul 10 #jQuery
JavaScript实现的滚动公告特效【基于jQuery】
Jul 10 #jQuery
JavaScript前端页面搜索功能案例【基于jQuery】
Jul 10 #jQuery
jquery多级树形下拉菜单的实例代码
Jul 09 #jQuery
You might like
Protoss兵种介绍
2020/03/14 星际争霸
海量经典的jQuery插件集合
2010/01/12 Javascript
网站404页面3秒后跳到首页的实例代码
2013/08/16 Javascript
javascript分页代码实例分享(js分页)
2013/12/13 Javascript
使用text方法获取Html元素文本信息示例
2014/09/01 Javascript
javascript实现状态栏文字首尾相接循环滚动的方法
2015/07/22 Javascript
Bootstrap轮播加上css3动画,炫酷到底!
2015/12/22 Javascript
微信小程序 教程之wxapp视图容器 scroll-view
2016/10/19 Javascript
AngularJs表单校验功能实例代码
2017/02/09 Javascript
JS实现的五级联动菜单效果完整实例
2017/02/23 Javascript
jQuery实现返回顶部按钮和scroll滚动功能[带动画效果]
2017/07/05 jQuery
JavaScript对JSON数组简单排序操作示例
2019/01/31 Javascript
浅谈Vue开发人员的7个最好的VSCode扩展
2021/01/20 Vue.js
[50:45]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第一场
2018/04/10 DOTA
[16:01]夜魇凡尔赛茶话会 第二期01:你比划我猜
2021/03/11 DOTA
Python中你应该知道的一些内置函数
2017/03/31 Python
从头学Python之编写可执行的.py文件
2017/11/28 Python
Python+matplotlib+numpy实现在不同平面的二维条形图
2018/01/02 Python
Python给你的头像加上圣诞帽
2018/01/04 Python
python pandas消除空值和空格以及 Nan数据替换方法
2018/10/30 Python
python读csv文件时指定行为表头或无表头的方法
2019/06/26 Python
python函数的万能参数传参详解
2019/07/26 Python
Python 实现日志同时输出到屏幕和文件
2020/02/19 Python
Python OpenCV实现测量图片物体宽度
2020/05/27 Python
Mistine官方海外旗舰店:泰国国民彩妆品牌
2016/12/28 全球购物
瑞典领先的汽车零部件网上零售商:bildelaronline24.se
2017/01/12 全球购物
丝芙兰加拿大官方网站:SEPHORA加拿大
2018/11/20 全球购物
全球精选男装和家居用品:Article
2020/04/13 全球购物
2014社区三八妇女节活动方案
2014/03/30 职场文书
企业授权委托书范本
2014/04/02 职场文书
党员公开承诺书内容
2014/05/20 职场文书
2014年团员学习十八大思想汇报
2014/09/13 职场文书
2014年设备管理工作总结
2014/11/26 职场文书
国家助学金感谢信
2015/01/21 职场文书
教你怎么用Python实现多路径迷宫
2021/04/29 Python
基于Python编写简易版的天天跑酷游戏的示例代码
2022/03/23 Python