基于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 相关文章推荐
use jscript with List Proxy Server Information
Jun 11 Javascript
使用jQuery Ajax功能时需要注意的一个问题(内存溢出)
May 30 Javascript
html a标签-超链接中confirm方法使用介绍
Jan 04 Javascript
js函数中onmousedown和onclick的区别和联系探讨
May 19 Javascript
快速掌握Node.js事件驱动模型
Mar 21 Javascript
浅谈Javascript数据属性与访问器属性
Jul 26 Javascript
jQuery包裹节点用法完整示例
Sep 13 Javascript
关于 angularJS的一些用法
Nov 29 Javascript
详解layui中的树形关于取值传值问题
Jan 16 Javascript
基于vue2.0实现仿百度前端分页效果附实现代码
Oct 30 Javascript
puppeteer库入门初探
Jan 09 Javascript
Vue 解决多级动态面包屑导航的问题
Nov 04 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
zend framework配置操作数据库实例分析
2012/12/06 PHP
PHP生成指定长度随机数最简洁的方法
2014/07/14 PHP
PHP版单点登陆实现方案的实例
2016/11/17 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
浅谈laravel5.5 belongsToMany自身的正确用法
2019/10/17 PHP
为什么要在引入的css或者js文件后面加参数的详细讲解
2013/05/03 Javascript
JavaScript学习笔记之Function对象
2015/01/22 Javascript
详解JS面向对象编程
2016/01/24 Javascript
AngularJS ng-change 指令的详解及简单实例
2016/07/30 Javascript
NodeJS远程代码执行
2016/08/28 NodeJs
AngularJS ngModel实现指令与输入直接的数据通信
2016/09/21 Javascript
javascript函数的节流[throttle]与防抖[debounce]
2017/11/15 Javascript
vue-cli3中vue.config.js配置教程详解
2019/05/29 Javascript
详解NodeJs项目 CentOs linux服务器线上部署
2019/09/16 NodeJs
[10:07]2014DOTA2国际邀请赛 实拍选手现场观战DK对阵Titan
2014/07/12 DOTA
[14:50]2018DOTA2亚洲邀请赛开幕式
2018/04/03 DOTA
在Python的Flask框架中使用模版的入门教程
2015/04/20 Python
pygame播放音乐的方法
2015/05/19 Python
python合并同类型excel表格的方法
2018/04/01 Python
Pandas DataFrame数据的更改、插入新增的列和行的方法
2019/06/25 Python
linux下python中文乱码解决方案详解
2019/08/28 Python
python爬虫容易学吗
2020/06/02 Python
基于keras中的回调函数用法说明
2020/06/17 Python
详解如何使用CSS3中的结构伪类选择器和伪元素选择器
2020/01/06 HTML / CSS
Html5 audio标签样式的修改
2016/01/28 HTML / CSS
科颜氏法国官网:Kiehl’s法国
2019/08/20 全球购物
大学本科毕业生求职简历的自我评价
2013/10/09 职场文书
医药营销个人求职信
2014/04/12 职场文书
办公室主任个人对照检查材料思想汇报
2014/10/11 职场文书
2014年小学校长工作总结
2014/12/08 职场文书
中班下学期个人总结
2015/02/12 职场文书
2015年办公室个人工作总结
2015/04/20 职场文书
2015年党员发展工作总结
2015/05/13 职场文书
2016年学校安全教育月活动总结
2016/04/06 职场文书
类和原型的设计模式之复制与委托差异
2022/07/07 Javascript
Python  序列化反序列化和异常处理的问题小结
2022/12/24 Python