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.serializeJSON
Jun 23 jQuery
jQuery常用选择器详解
Jul 17 jQuery
通过jquery获取上传文件名称、类型和大小的实现代码
Apr 19 jQuery
为jquery的ajax请求添加超时timeout时间的操作方法
Sep 04 jQuery
JQuery Ajax执行跨域请求数据的解决方案
Dec 10 jQuery
jQuery实现动态生成年月日级联下拉列表示例
May 11 jQuery
jquery 遍历hash操作示例【基于ajax交互】
Oct 12 jQuery
jquery实现购物车基本功能
Oct 25 jQuery
Jquery让form表单异步提交代码实现
Nov 14 jQuery
jquery传参及获取方式(两种方式)
Feb 13 jQuery
jQuery 添加元素和删除元素的方法
Jul 15 jQuery
JS+JQuery实现无缝连接轮播图
Dec 30 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
咖啡因含量是由谁决定的?低因咖啡怎么来?低因咖啡适合什么人喝
2021/03/06 新手入门
PHP性能优化工具篇Benchmark类调试执行时间
2011/12/06 PHP
PHP 5.3新增魔术方法__invoke概述
2014/07/23 PHP
一波PHP中cURL库的常见用法代码示例
2016/05/06 PHP
PHP pear安装配置教程
2016/05/14 PHP
PHP之十六个魔术方法详细介绍
2016/11/01 PHP
php实现微信企业号支付个人的方法详解
2017/07/26 PHP
JQuery表格内容过滤的实现方法
2013/07/05 Javascript
JS实现仿FLASH效果的竖排导航代码
2015/09/15 Javascript
浅谈jQuery 中的事件冒泡和阻止默认行为
2016/05/28 Javascript
类似于QQ的右滑删除效果的实现方法
2016/10/16 Javascript
JS实现的模仿QQ头像资料卡显示与隐藏效果
2017/04/07 Javascript
js使用xml数据载体实现城市省份二级联动效果
2017/11/08 Javascript
浅谈vue中慎用style的scoped属性
2017/11/28 Javascript
vue更改数组中的值实例代码详解
2020/02/07 Javascript
JS数组方法reduce的用法实例分析
2020/03/03 Javascript
[43:51]2014 DOTA2国际邀请赛中国区预选赛 Dream Times VS TongFu
2014/05/22 DOTA
Python创建模块及模块导入的方法
2015/05/27 Python
Python中的zipfile模块使用详解
2015/06/25 Python
详解Python下载图片并保存本地的两种方式
2019/05/15 Python
pycharm 2019 最新激活方式(pycharm破解、激活)
2020/09/22 Python
python scatter函数用法实例详解
2020/02/11 Python
keras-siamese用自己的数据集实现详解
2020/06/10 Python
Html5上传图片 移动端、PC端通用代码
2016/06/08 HTML / CSS
HTML5 Canvas中绘制矩形实例
2015/01/01 HTML / CSS
详解使用HTML5 Canvas创建动态粒子网格动画
2016/12/14 HTML / CSS
elf彩妆英国官网:e.l.f. Cosmetics英国(美国平价彩妆品牌)
2017/11/02 全球购物
在什么时候需要使用"常引用"
2015/12/31 面试题
房地产促销活动方案
2014/03/01 职场文书
继承公证书样本
2014/04/04 职场文书
篮球兴趣小组活动总结
2014/07/07 职场文书
工作说明书格式
2014/07/29 职场文书
2014年优秀班主任工作总结
2014/12/16 职场文书
房产公证书样本
2015/01/23 职场文书
民间借贷纠纷答辩状
2015/08/03 职场文书
react中useState使用:如何实现在当前表格直接更改数据
2022/08/05 Javascript