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实现动态删除LI的方法
May 30 jQuery
jQuery实现手势解锁密码特效
Aug 14 jQuery
jQuery获取复选框选中的当前行的某个字段的值
Sep 15 jQuery
jQuery实现的事件绑定功能基本示例
Oct 11 jQuery
jquery中done和then的区别(详解)
Dec 19 jQuery
jQuery pagination分页示例详解
Oct 23 jQuery
jQuery实现的简单日历组件定义与用法示例
Dec 24 jQuery
jQuery实现的网站banner图片无缝轮播效果完整实例
Jan 28 jQuery
jquery实现自定义树形表格的方法【自定义树形结构table】
Jul 12 jQuery
jQuery实现飞机大战小游戏
Jul 05 jQuery
jQuery中event.target和this的区别详解
Aug 13 jQuery
jQuery实现增删改查
Dec 22 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获取网页标题的3种实现方法代码实例
2014/04/11 PHP
PHP中使用CURL获取页面title例子
2015/01/07 PHP
Laravel配合jwt使用的方法实例
2020/10/25 PHP
QUnit jQuery的TDD框架
2010/11/04 Javascript
浅说js变量
2011/05/25 Javascript
window.showModalDialog()返回值的学习心得总结
2014/01/07 Javascript
加随机数引入脚本不让浏览器读取缓存
2014/09/04 Javascript
jQuery中[attribute*=value]选择器用法实例
2014/12/31 Javascript
jQuery中has()方法用法实例
2015/01/06 Javascript
浅谈JSON中stringify 函数、toJosn函数和parse函数
2015/01/26 Javascript
jQuery插件zoom实现图片全屏放大弹出层特效
2015/04/15 Javascript
vuedraggable+element ui实现页面控件拖拽排序效果
2020/07/29 Javascript
NodeJs入门教程之定时器和队列
2019/03/08 NodeJs
微信小程序实现的一键拨号功能示例
2019/04/24 Javascript
JavaScript代理模式原理与用法实例详解
2020/03/10 Javascript
[01:45:05]VGJ.T vs Newbee Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
利用python微信库itchat实现微信自动回复功能
2017/05/18 Python
python matplotlib中文显示参数设置解析
2017/12/15 Python
Python设计模式之MVC模式简单示例
2018/01/10 Python
详解Python数据分析--Pandas知识点
2019/03/23 Python
Macbook安装Python最新版本、GUI开发环境、图像处理、视频处理环境详解
2020/02/17 Python
Python openpyxl 插入折线图实例
2020/04/17 Python
Pycharm中配置远程Docker运行环境的教程图解
2020/06/11 Python
Python3 requests模块如何模仿浏览器及代理
2020/06/15 Python
解决tensorflow/keras时出现数组维度不匹配问题
2020/06/29 Python
python基于爬虫+django,打造个性化API接口
2021/01/21 Python
Foot Locker加拿大官网:美国知名运动产品零售商
2019/07/21 全球购物
幼儿园教师请假制度
2014/01/16 职场文书
《夸父追日》教学反思
2014/02/26 职场文书
第一批党的群众路线教育实践活动工作总结
2014/03/03 职场文书
创先争优承诺书范文
2014/03/31 职场文书
烟台的海导游词
2015/02/02 职场文书
解决golang 关于全局变量的坑
2021/05/06 Golang
Golang二维数组的使用方式
2021/05/28 Golang
JavaScript声明变量和数据类型的转换
2022/04/12 Javascript
Python实现Matplotlib,Seaborn动态数据图
2022/05/06 Python