基于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 相关文章推荐
javascript offsetX与layerX区别
Mar 12 Javascript
缓动函数requestAnimationFrame 更好的实现浏览器经动画
Dec 07 Javascript
web性能优化之javascript性能调优
Dec 28 Javascript
浅析JavaScript基本类型与引用类型
May 28 Javascript
微信小程序 用户数据解密详细介绍
Jan 09 Javascript
jQuery实现倒计时重新发送短信验证码功能示例
Jan 12 Javascript
JS 中LocalStorage和SessionStorage的使用
Aug 17 Javascript
原生js实现随机点名功能
Nov 05 Javascript
vue使用自定义事件的表单输入组件用法详解【日期组件与货币组件】
Jun 01 Javascript
js实现跳一跳小游戏
Jul 31 Javascript
如何使用JavaScript策略模式校验表单
Apr 29 Javascript
JavaScript流程控制(循环)
Dec 06 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实现根据设备类型自动跳转相应页面的方法
2014/07/24 PHP
Ajax实现对静态页面的文章访问统计功能示例
2016/10/10 PHP
基于ThinkPHP删除目录及目录文件函数
2020/10/28 PHP
javascript中节点的最近的相关节点访问方法
2013/03/20 Javascript
Jquery Uploadify多文件上传带进度条且传递自己的参数
2013/08/28 Javascript
js实现图片漂浮效果的方法
2015/03/02 Javascript
javascript实现Table排序的方法
2015/05/15 Javascript
Jquery 垂直多级手风琴菜单附源码下载
2015/11/17 Javascript
使用JavaScript实现弹出层效果的简单实例
2016/05/31 Javascript
js事件源window.event.srcElement兼容性写法(详解)
2016/11/25 Javascript
解决拦截器对ajax请求的拦截实例详解
2016/12/21 Javascript
Webpack执行命令参数详解
2017/06/17 Javascript
Vue 让元素抖动/摆动起来的实现代码
2018/05/31 Javascript
JavaScript中.min.js和.js文件的区别讲解
2019/02/13 Javascript
浅谈Javascript常用正则表达式应用
2019/03/08 Javascript
JavaScript实现简单随机点名器
2019/11/21 Javascript
[03:48]DOTA2完美大师赛主赛事第二日精彩集锦
2017/11/24 DOTA
python采用getopt解析命令行输入参数实例
2014/09/30 Python
python制作爬虫爬取京东商品评论教程
2016/12/16 Python
Python中的上下文管理器相关知识详解
2019/09/19 Python
windows上彻底删除jupyter notebook的实现
2020/04/13 Python
如何打包Python Web项目实现免安装一键启动的方法
2020/05/21 Python
基于python纯函数实现井字棋游戏
2020/05/27 Python
Python flask框架实现浏览器点击自定义跳转页面
2020/06/04 Python
Python中logging日志记录到文件及自动分割的操作代码
2020/08/05 Python
Django中如何用xlwt生成表格的方法步骤
2021/01/31 Python
css3 线性渐变和径向渐变示例附图
2014/04/08 HTML / CSS
推荐10个HTML5响应式框架
2016/02/25 HTML / CSS
课改先进个人汇报材料
2014/01/26 职场文书
优秀教师事迹简介
2014/02/02 职场文书
解除财产保全担保书
2014/05/20 职场文书
群众路线个人自我剖析材料
2014/10/07 职场文书
深入开展党的群众路线教育实践活动心得体会
2014/11/05 职场文书
党小组鉴定意见
2015/06/02 职场文书
离开雷锋的日子观后感
2015/06/09 职场文书
导游词之桂林
2019/08/20 职场文书