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监听扫码枪输入并禁止手动输入的实现方法(推荐)
Mar 21 jQuery
BootStrap中jQuery插件Carousel实现轮播广告效果
Mar 27 jQuery
jQuery实现文章图片弹出放大效果
Apr 06 jQuery
jQuery选择器_动力节点Java学院整理
Jul 05 jQuery
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
Jul 22 jQuery
原生js jquery ajax请求以及jsonp的调用方法
Aug 04 jQuery
jQuery实现简单日期格式化功能示例
Sep 19 jQuery
jQuery中过滤器的基本用法示例
Oct 11 jQuery
jQuery实现打开网页自动弹出遮罩层或点击弹出遮罩层功能示例
Oct 19 jQuery
jQuery简单实现向列表动态添加新元素的方法示例
Dec 25 jQuery
jQuery中内容过滤器简单用法示例
Mar 31 jQuery
[原创]jQuery实现合并/追加数组并去除重复项的方法
Apr 11 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
十天学会php之第七天
2006/10/09 PHP
source.php查看源文件
2006/12/09 PHP
解析php利用正则表达式解决采集内容排版的问题
2013/06/20 PHP
php实现用于删除整个目录的递归函数
2015/03/16 PHP
php基于curl扩展制作跨平台的restfule 接口
2015/05/11 PHP
php set_include_path函数设置 include_path 配置选项
2016/10/30 PHP
js版本A*寻路算法
2006/12/22 Javascript
表单提交时自动复制内容到剪贴板的js代码
2007/03/16 Javascript
JavaScript的eval JSON object问题
2009/11/15 Javascript
jquery乱码与contentType属性设置问题解决方案
2013/01/07 Javascript
多个jQuery版本共存的处理方案
2015/03/17 Javascript
使用jQuery判断浏览器滚动条位置的方法
2016/05/30 Javascript
基于jQuery实现的查看全文功能【实用】
2016/12/11 Javascript
nuxt.js 缓存实践
2018/06/25 Javascript
[00:05]ChinaJoy现场 DOTA2玩家高呼“CN DOTA BEST DOTA”
2019/08/04 DOTA
使用Python的urllib2模块处理url和图片的技巧两则
2016/02/18 Python
Python实现的圆形绘制(画圆)示例
2018/01/31 Python
python爬虫之自动登录与验证码识别
2020/06/15 Python
python爬虫神器Pyppeteer入门及使用
2019/07/13 Python
将python安装信息加入注册表的示例
2019/11/20 Python
浅谈pytorch torch.backends.cudnn设置作用
2020/02/20 Python
基于注解实现 SpringBoot 接口防刷的方法
2021/03/02 Python
html5清空画布方法(三种)
2017/10/16 HTML / CSS
世界汽车零件:World Car Parts
2019/09/04 全球购物
南京迈特望C/C++面试题
2012/07/09 面试题
药学专业大专生的自我评价
2013/12/12 职场文书
服务理念口号
2014/06/11 职场文书
趣味运动会广播稿
2014/09/13 职场文书
2014年护士长工作总结
2014/11/11 职场文书
初中生散播谣言检讨书
2014/11/17 职场文书
给老婆的道歉信
2015/01/20 职场文书
打架检讨书范文
2015/01/27 职场文书
酒店财务总监岗位职责
2015/04/03 职场文书
餐厅保洁员岗位职责
2015/04/10 职场文书
小学二年级语文教学反思
2016/03/03 职场文书
win11如何查看端口是否被占用? Win11查看端口是否占用的技巧
2022/04/05 数码科技