当前位置:首页 > 日记 > 正文

jquery+css实现简单的轮播效果

jquery+css实现简单的轮播效果

开发过程中需要用到图片轮播的插件,在网上找了几个插件之后还是决定自己码一个,比较简洁的功能,以后说不定还会有用。

ps:

功能比较简单,整个框并不能根据图片的大小自动调节,这里所用的图片是1170*500的,如果需要改成其他大小的图片,自行修改.pic-list下img的宽度。

.pic-list中的宽度为整个横幅的宽度,如果需要轮播的图片数量很多,.pic-list的宽度应大于数量*单张宽度,

html

<div class="banner">    <!--第一张图片为最后一张,用来做轮播连接使用,所以一开始显示的第一章,应是第二张图片,这里图片的宽度为1170px,所以一开始left为-1170px,同理最后一张图也为第一张图。-->  <div class="pic-list" style="left: -1170px">    <img src="/static/img/4.webp" alt="">    <img src="/static/img/1.webp" alt="">    <img src="/static/img/2.webp" alt="">    <img src="/static/img/3.webp" alt="">    <img src="/static/img/4.webp" alt="">    <img src="/static/img/1.webp" alt="">  </div>  <div id="buttons">    <!-- 确保span的数量跟img数量一样多,不包括第一张img和最后一张img-->    <span class='on'></span>    <span></span>    <span></span>    <span></span>  </div>  <a href="javascript:;" class="arrow" id="prev"><</a>  <a href="javascript:;" class="arrow" id="next">></a></div>

css

.banner{  width: 100%;  height: 500px;  overflow: hidden;  position: relative;}.banner a{  text-decoration: none;}.banner .pic-list{  width: 10000px;  height: 500px;  position: absolute;  z-index: 1;}.banner .pic-list img{  width: 1170px;  float: left;}#buttons{  position: absolute;  z-index: 2;  height: 10px;  bottom: 20px;  left: 550px;}#buttons span{  cursor: pointer;  float: left;  border: 1px solid #fff;  width: 10px;  height: 10px;  border-radius: 50%;  background: #333;  margin-right: 5px;}#buttons .on{  background: orange;}.arrow{  cursor: pointer;  line-height: 36px;  text-align: center;  font-size: 20px;  font-weight: bold;  width: 40px;  height: 40px;  position: absolute;  z-index: 2;  top: 200px;  background: rgba(0,0,0,0.5);  color: #fff;  display: none;}.banner:hover .arrow{display: block;}#prev{  left: 20px;}#next{  right:20px;}

js

$(document).ready(function(){  var picNum = 4;//图片数量,根据实际修改  var picWidth = 1170;//图片的宽度,根据实际修改  var picMaxWidth = -1 * picNum * picWidth;  var currentPic = 1;  var next = $('#next');  var prev = $('#prev');  var flag = false;  prev.on('click',function(){    if(!flag){      calPx(1170);      currentPic--;      if (currentPic < 1) {        currentPic = picNum;      }      $('#buttons span').eq(currentPic-1).addClass('on').siblings().removeClass('on');    }  });  next.on('click',function(){    if(!flag){      calPx(-1170);      currentPic++;      if (currentPic > picNum) {        currentPic = 1;      }      $('#buttons span').eq(currentPic-1).addClass('on').siblings().removeClass('on');    }  });  $('.banner').on('mouseover',function(){    stop();  }).on('mouseout',function(){    play();  })  function nextClick(){    next.click();  }  function play(){    setInt = setInterval(nextClick,2000);  }  function stop(){    clearInterval(setInt);  }  function calPx(leftPx){    flag = true;    var left = parseInt($('.pic-list').css('left'));    var newLeft = left+leftPx;    var time = 300;    var interval = 10;    var speed = leftPx/(time/interval);    function (){      var left = parseInt($('.pic-list').css('left'));      if((speed < 0 && left > newLeft) || (speed > 0 && left < newLeft)){        $('.pic-list').css('left', (left + speed) + 'px');        setTimeout(,interval);      }else{        flag = false;        if( newLeft > -1170){          newLeft = picMaxWidth;        }else if (newLeft < picMaxWidth ) {          newLeft = -1170;        }        $('.pic-list').css('left',newLeft + 'px');      }    }    ();  }  play();});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

相关文章

Word中进行2013版更改页面颜色的操

Word中进行2013版更改页面颜色的操

操作方法,颜色,页面,操作步骤,电脑软件,  word如何更改页面颜色是可以更改的,怎么该呢?今天,小编就教大家在Word中进行2013版更改页面颜色的操作方法。Word中进行2013版更改页面颜色的操作步骤打开word文档:选择设计菜单:找到页面颜色:选择你…

PHP从数组中删除元素的四种方法实

PHP从数组中删除元素的四种方法实

方法,删除元素,四种,组中,实例,茴香豆的“茴”字有四种写法,PHP从数组中删除元素也有四种方法 ^_^。删除一个元素,且保持原有索引不变使用 unset 函数,示例如下:<?php $array = array(0 => "a", 1 => "b", 2 => "c"); unset($array[1])…

ps中怎么设计带有纹理的3d立体字?

ps中怎么设计带有纹理的3d立体字?

立体字,纹理,3d,电脑软件,ps,刚下载了哥cs6,发现里面有3d功能,所有自己研究了一下。自己制作了哥3d立体字,感觉挺方便的,所有介绍给大家。软件名称:Adobe Photoshop 8.0 中文完整绿色破解版软件大小:150.1MB更新时间:2015-11-041、打开ps,新建一个R…

Vue resource中的GET与POST请求的

Vue resource中的GET与POST请求的

实例代码,请求,电脑软件,Vue,resource,前言:vue-resource 使用比 jQuery 更加简洁的方式实现了异步请求功能,还提供了比如 interceptors 这样处理请求过程中行为的功能。下面介绍下vue-resource中常用的GET与POST请求使用与封装方法。访问 Gi…

微信指纹支付如何设置

微信指纹支付如何设置

支付,指纹,如何设置,电脑软件,  自微信升级版本以后,为大家带来了不少新功能,比如二维码收款、声音锁等。其实在支付方面也有新的突破,那就是很早以前传出的指纹支付。也就说除了支付宝、京东钱包以外,微信也加入了指纹支付的行列。本文将为…

Angularjs实现搜索关键字高亮显示

Angularjs实现搜索关键字高亮显示

显示效果,搜索关键字,电脑软件,Angularjs,高亮,需求分析:根据关键字搜索网页内容,并且高亮显示内容中的关键字细节分析: 1、每次执行搜索操作,需清空上一次结果2、需区分html标签和正常文本内容,否则为关键字添加样式以后会出现标签内容被显示…

在word2013中插入稿纸的方法步骤

在word2013中插入稿纸的方法步骤

方法,步骤,稿纸,方格,电脑软件,  编辑word文档时,有时需要插入半页稿纸,尤其是写作文时,前面写完作文要求之后,就需要在本页插入稿纸。那么怎么在word2013中插入稿纸呢?为此小编给你准备了插入稿纸的方法教程,希望对你有帮助!Word2013插入稿纸…

PHP实现的贪婪算法实例

PHP实现的贪婪算法实例

贪婪算法,实例,电脑软件,PHP,本文实例讲述了PHP实现的贪婪算法。分享给大家供大家参考,具体如下:背景介绍:贪婪算法与数据结构知识库算法可以说是离我们生活最近的一种算法,人总是贪婪的嘛,所以这种算法的设计是很符合人性的。之所以这么说,是因…

ps怎么选纸张颜色? ps模拟纸张颜色

ps怎么选纸张颜色? ps模拟纸张颜色

方法,模拟,纸张,颜色,电脑软件,ps模拟纸张颜色很方便,可以直接选择文件的样式里的模拟纸张颜色的选项,下面我们就来看看详细的教程。软件名称:Adobe Photoshop 8.0 中文完整绿色破解版软件大小:150.1MB更新时间:2015-11-041、首先找到软件。2、…

ps利用滤镜制作各种颜色的环形烟花

ps利用滤镜制作各种颜色的环形烟花

滤镜,教程,笔画,烟花,环形,ps怎样利用滤镜制作各种颜色的环形烟花图片?运用PHOTOSHOP软件,可以很简单的制作大家想要的照片,下面和小编一起来看看具体步骤吧。最终效果:具体步骤:12 3 4 阅读全文1 23 4 阅读全文1 2 34 阅读全文教程到此结束…

Node.js 的模块知识汇总

Node.js 的模块知识汇总

知识,模块,电脑软件,Node,js,在写 Node.js 应用程序的时候,你确实可以把所有代码放在巨大原 index.js 文件中,不在乎你的应用程序会变得多大多复杂。Node.js 解释器不会在意这个事情。但在代码组织方面,你很快就会陷入混乱,不能理解代码,而且难…

word怎么设置论文页面标准格式

word怎么设置论文页面标准格式

方法,页面设置,设置,论文,页面,  毕业论文,总是让人很头疼的。尤其是老师给的各种格式。现在,根据小编的经验,来给大家一点在毕业论文页面设置方面的小经验,为大家减轻一点那些格式要求烦恼。接下来小编举例简单的例子告诉大家word2010论文页…