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日程管理控件glDatePicker用法详解
Mar 29 jQuery
Jquery EasyUI $.Parser
Jun 02 jQuery
jquery select插件异步实时搜索实例代码
Oct 20 jQuery
jquery ajax异步提交表单数据的方法
Oct 27 jQuery
jQuery除指定区域外点击任何地方隐藏DIV功能
Nov 13 jQuery
解决jquery的ajax调取后端数据成功却渲染失败的问题
Aug 08 jQuery
jQuery实现参数自定义的文字跑马灯效果
Aug 15 jQuery
学习jQuery中的noConflict()用法
Sep 28 jQuery
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
Dec 11 jQuery
JQuery获取元素尺寸、位置及页面滚动事件应用示例
May 14 jQuery
jQuery轮播图功能制作方法详解
Dec 03 jQuery
jQuery实现二级导航菜单的示例
Sep 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
php操作SVN版本服务器类代码
2011/11/27 PHP
PHP中模拟处理HTTP PUT请求的例子
2014/07/22 PHP
php获取百度收录、百度热词及百度快照的方法
2015/04/02 PHP
Fastest way to build an HTML string(拼装html字符串的最快方法)
2011/08/20 Javascript
javascript表单验证使用示例(javascript验证邮箱)
2014/01/07 Javascript
浅谈Javascript如何实现匀速运动
2014/12/19 Javascript
jQuery对象的length属性用法实例
2014/12/27 Javascript
使用AngularJS中的SCE来防止XSS攻击的方法
2015/06/18 Javascript
JavaScript事件用法浅析
2016/10/31 Javascript
AngularJS入门教程之Cookies读写操作示例
2016/11/02 Javascript
详解用webpack把我们的业务模块分开打包的方法
2017/07/20 Javascript
Vue 事件处理操作实例详解
2019/03/05 Javascript
详解如何运行vue项目
2019/04/15 Javascript
ES6知识点整理之模块化的应用详解
2019/04/15 Javascript
[01:29:46]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第二局
2016/02/27 DOTA
python使用PyGame模块播放声音的方法
2015/05/20 Python
Python字符串特性及常用字符串方法的简单笔记
2016/01/04 Python
python爬取亚马逊书籍信息代码分享
2017/12/09 Python
利用python提取wav文件的mfcc方法
2019/01/09 Python
python pip安装包出现:Failed building wheel for xxx错误的解决
2019/12/25 Python
使用IPython或Spyder将省略号表示的内容完整输出
2020/04/20 Python
Python判断变量是否是None写法代码实例
2020/10/09 Python
基于Python实现粒子滤波效果
2020/12/01 Python
详解CSS中iconfont的使用
2015/08/04 HTML / CSS
英国街头品牌:Bee Inspired Clothing
2018/02/12 全球购物
机工车间主任岗位职责
2014/03/05 职场文书
大学生自荐信范文
2015/03/05 职场文书
检讨书怎么写
2015/05/07 职场文书
2015年教师业务工作总结
2015/05/26 职场文书
甲午大海战观后感
2015/06/02 职场文书
CSS 圆形进度栏
2021/04/06 HTML / CSS
关于html选择框创建占位符的问题
2021/06/09 HTML / CSS
Java实现斗地主之洗牌发牌
2021/06/14 Java/Android
MySQL 开窗函数
2022/02/15 MySQL
《最终幻想14》6.01版本4月5日推出 追加新任务新道具
2022/04/03 其他游戏
Python中request的基本使用解决乱码问题
2022/04/12 Python