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仿微信聊天界面
May 06 jQuery
jQuery表单验证之密码确认
May 22 jQuery
利用JQuery操作iframe父页面、子页面的元素和方法汇总
Sep 10 jQuery
jquery的 filter()方法使用教程
Mar 22 jQuery
jQuery实现DIV响应鼠标滑过由下向上展开效果示例【测试可用】
Apr 26 jQuery
jquery引入外部CDN 加载失败则引入本地jq库
May 23 jQuery
jQuery实现获取动态添加的标签对象示例
Jun 28 jQuery
jQuery实现仿京东防抖动菜单效果示例
Jul 06 jQuery
jQuery点击页面其他部分隐藏下拉菜单功能
Nov 27 jQuery
jQuery实现网页拼图游戏
Apr 22 jQuery
jquery的$().each和$.each的区别
Jan 18 jQuery
JS/jQuery实现获取时间的方法及常用类完整示例
Mar 07 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
日本因肺炎疫情影响,这几部动漫推延播放!
2020/03/03 日漫
如何利用php+mysql保存和输出文件
2006/10/09 PHP
php cookis创建实现代码
2009/03/16 PHP
PHP时间格式控制符对照表分享
2013/07/23 PHP
php计算数组不为空元素个数的方法
2014/01/27 PHP
Thinkphp实现站点静态化的方法详解
2017/03/21 PHP
win10 apache配置虚拟主机后localhost无法使用的解决方法
2018/01/27 PHP
实例讲解通过​PHP创建数据库
2019/01/20 PHP
php/JS实现的生成随机密码(验证码)功能示例
2019/06/06 PHP
thinkphp5框架调用其它控制器方法 实现自定义跳转界面功能示例
2019/07/03 PHP
再谈javascript图片预加载技术(详细演示)
2011/03/12 Javascript
jQuery选择器源码解读(二):select方法
2015/03/31 Javascript
JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色
2015/11/26 Javascript
jQuery图片渐变特效的简单实现
2016/06/25 Javascript
JavaScript中的事件委托及好处
2016/07/12 Javascript
JS实现字符串转驼峰格式的方法
2016/12/16 Javascript
bootstrap table 多选框分页保留示例代码
2017/03/08 Javascript
使用jQuery如何写一个含验证码的登录界面
2019/05/13 jQuery
JS 创建对象的模式实例小结
2020/04/28 Javascript
利用python解决mysql视图导入导出依赖的问题
2017/12/17 Python
Python:Numpy 求平均向量的实例
2019/06/29 Python
Python-Tkinter Text输入内容在界面显示的实例
2019/07/12 Python
linux环境下Django的安装配置详解
2019/07/22 Python
python 非线性规划方式(scipy.optimize.minimize)
2020/02/11 Python
结束运行python的方法
2020/06/16 Python
CSS3 box-shadow属性实例详解
2020/06/19 HTML / CSS
HTML5 File接口在web页面上使用文件下载
2017/02/27 HTML / CSS
印度在线购买电子产品网站:Croma
2020/01/02 全球购物
消防安全员岗位职责
2014/03/10 职场文书
赡养老人协议书
2014/04/21 职场文书
代理协议书范本
2014/04/22 职场文书
施工安全生产承诺书
2014/05/23 职场文书
毕业生工作求职信
2014/06/30 职场文书
介绍信的格式
2015/01/30 职场文书
2015年乡镇卫生院妇幼保健工作总结
2015/05/19 职场文书
学困生转化工作总结
2015/08/13 职场文书