基于jQuery实现淡入淡出效果轮播图


Posted in Javascript onJuly 31, 2020

用JavaScript做了平滑切换的焦点轮播图之后,用jQuery写了个简单的淡入淡出的轮播图,代码没有做优化,html结构稍微有一些调整,图片部分用ul替换了之前用的div。

html结构如下: 

<div id="container">
 <ul class="pic">
 <li><a href="javascript:;"><img src="DSC01627.jpg" alt="pic1"></a></li>
 <li><a href="javascript:;"><img src="DSC01628.jpg" alt="pic2"></a></li>
 <li><a href="javascript:;"><img src="DSC02637.jpg" alt="pic3"></a></li>
 </ul>
 <ul id="position">
 <li class="cur"></li>
 <li class=""></li>
 <li class=""></li>
 </ul>
 <a href="javascript:;" id="prev" class="arrow"><</a>
 <a href="javascript:;" id="next" class="arrow">></a>

 </div>

css设置: 

*{ 
 margin: 0;
 padding: 0; 
 text-decoration: none;
 }
 ul{
 list-style: none;
 }
 #container{
 position: relative;
 width: 400px;
 height: 200px;
 margin: 20px auto;
 }
 
 .pic li {
 position: absolute;
 top: 0;
 left: 0;
 display: none;
 }
 .pic li img {
 width: 400px;
 height: 200px;
 }
 #position{
 position: absolute;
 bottom: 0;
 right:0;
 margin: 0;
 background: #000;
 opacity: 0.4;
 width: 400px;
 text-align: center;
 }
 #position li{
 width: 10px;
 height: 10px;
 margin:0 2px;
 display: inline-block;
 -webkit-border-radius: 5px;
 border-radius: 5px;
 background-color: #afafaf;
 }
 #position .cur{
 background-color: #ff0000;
 }

 .arrow { 
 cursor: pointer;
 display: none; 
 line-height: 39px; 
 text-align: center; 
 font-size: 36px; 
 font-weight: bold; 
 width: 40px; 
 height: 40px; 
 position: absolute; 
 z-index: 2; 
 top: 50%;
 margin-top: -20px; /*width的一半*/
 background-color: RGBA(0,0,0,.3); 
 color: #fff;
 }
 .arrow:hover { 
 background-color: RGBA(0,0,0,.7);
 }
 #container:hover .arrow { 
 display: block;
 }
 #prev { 
 left: 20px;
 }
 #next { 
 right: 20px;
 }

JavaScript代码: 

$(function(){
 //第一张显示
 $(".pic li").eq(0).show();
 //鼠标滑过手动切换,淡入淡出
 $("#position li").mouseover(function() {
 $(this).addClass('cur').siblings().removeClass("cur");
 var index = $(this).index();
 i = index;//不加这句有个bug,鼠标移出小圆点后,自动轮播不是小圆点的后一个
 // $(".pic li").eq(index).show().siblings().hide();
 $(".pic li").eq(index).fadeIn(500).siblings().fadeOut(500);
 });
 //自动轮播
 var i=0;
 var timer=setInterval(play,2000);
 //向右切换
 var play=function(){
 i++;
 i = i > 2 ? 0 : i ;
 $("#position li").eq(i).addClass('cur').siblings().removeClass("cur");
 $(".pic li").eq(i).fadeIn(500).siblings().fadeOut(500);
 }
 //向左切换
 var playLeft=function(){
 i--;
 i = i < 0 ? 2 : i ;
 $("#position li").eq(i).addClass('cur').siblings().removeClass("cur");
 $(".pic li").eq(i).fadeIn(500).siblings().fadeOut(500);
 }
 //鼠标移入移出效果
 $("#container").hover(function() {
 clearInterval(timer);
 }, function() {
 timer=setInterval(play,2000);
 });
 //左右点击切换
 $("#prev").click(function(){
 playLeft();
 })
 $("#next").click(function(){
 play();
 })
 })

精彩专题分享:jQuery图片轮播 JavaScript图片轮播 Bootstrap图片轮播

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

Javascript 相关文章推荐
List Installed Hot Fixes
Jun 12 Javascript
JavaScript 操作table,可以新增行和列并且隔一行换背景色代码分享
Jul 05 Javascript
判断ie的两种简单方法
Aug 12 Javascript
教你用jquery实现iframe自适应高度
Jun 11 Javascript
如何编写一个完整的Angular4 FormText 组件
Nov 18 Javascript
解析Vue.js中的组件
Feb 02 Javascript
JS实现左边列表移到到右边列表功能
Mar 28 Javascript
angular6.0使用教程之父组件通过url传递id给子组件的方法
Jun 30 Javascript
vue中element 上传功能的实现思路
Jul 06 Javascript
解决微信小程序云开发中获取数据库的内容为空的方法
May 15 Javascript
对layer弹出框中icon数字参数的说明介绍
Sep 04 Javascript
layer.js open 隐藏滚动条的例子
Sep 05 Javascript
JS使用正则表达式实现关键字替换加粗功能示例
Aug 03 #Javascript
Angular2内置指令NgFor和NgIf详解
Aug 03 #Javascript
JS简单实现点击复制链接的方法
Aug 03 #Javascript
JS清除字符串中重复值的实现方法
Aug 03 #Javascript
JS使用onerror捕获异常示例
Aug 03 #Javascript
Javascript在IE和Firefox浏览器常见兼容性问题总结
Aug 03 #Javascript
AngularJS基础 ng-value 指令简单示例
Aug 03 #Javascript
You might like
关于PHP二进制流 逐bit的低位在前算法(详解)
2013/06/13 PHP
基于Laravel5.4实现多字段登录功能方法示例
2017/08/11 PHP
[原创]网络复制内容时常用的正则+editplus
2006/11/30 Javascript
Javascript引用指针使用介绍
2012/11/07 Javascript
jQuery语法高亮插件支持各种程序源代码语法着色加亮
2013/04/27 Javascript
Js实现双击鼠标自动滚动屏幕的示例代码
2013/12/14 Javascript
JavaScript+CSS控制打印格式示例介绍
2014/01/07 Javascript
Javascript json object 与string 相互转换的简单实现
2016/09/27 Javascript
javascript prototype原型详解(比较基础)
2016/12/26 Javascript
angularjs中$http异步上传Excel文件方法
2018/02/23 Javascript
vue项目关闭eslint校验
2018/03/21 Javascript
基于webpack4搭建的react项目框架的方法
2018/06/30 Javascript
Vue实现双向绑定的原理以及响应式数据的方法
2018/07/02 Javascript
jquery登录的异步验证操作示例
2019/05/09 jQuery
Vue路由对象属性 .meta $route.matched详解
2019/11/04 Javascript
详解ES6数组方法find()、findIndex()的总结
2020/05/12 Javascript
使用纯前端JavaScript实现Excel导入导出方法过程详解
2020/08/07 Javascript
零基础写python爬虫之抓取百度贴吧代码分享
2014/11/06 Python
Python元组及文件核心对象类型详解
2018/02/11 Python
pandas数据分组和聚合操作方法
2018/04/11 Python
Django利用cookie保存用户登录信息的简单实现方法
2019/05/27 Python
python 列表推导式使用详解
2019/08/29 Python
python判断all函数输出结果是否为true的方法
2020/12/03 Python
12个不为大家熟知的HTML5设计小技巧
2016/06/02 HTML / CSS
教师推荐信范文
2013/11/24 职场文书
党员自我批评与反省材料
2014/02/10 职场文书
公证书标准格式
2014/04/10 职场文书
学校运动会霸气口号
2014/06/07 职场文书
化学教育专业求职信
2014/07/08 职场文书
职工擅自离岗检讨书
2014/09/23 职场文书
嘉宾邀请函
2015/01/31 职场文书
副总经理岗位职责
2015/02/02 职场文书
2015小学五年级班主任工作总结
2015/05/21 职场文书
Html5调用企业微信的实现
2021/04/16 HTML / CSS
python批量更改目录名/文件名的方法
2021/04/18 Python
Python使用Beautiful Soup(BS4)库解析HTML和XML
2022/06/05 Python