基于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 相关文章推荐
JQuery通过Ajax提交表单并返回结果
Jul 31 Javascript
JS控制阿拉伯数字转为中文大写示例代码
Sep 04 Javascript
将form表单中的元素转换成对象的方法适用表单提交
May 02 Javascript
jquery取子节点及当前节点属性值的方法
Sep 09 Javascript
jQuery实现选项联动轮播效果【附实例】
Apr 19 Javascript
让浏览器崩溃的12行JS代码(DoS攻击分析及防御)
Oct 10 Javascript
JavaScript中最常见的三个面试题解析
Mar 04 Javascript
jQuery模拟窗口抖动效果
Mar 15 Javascript
js实现华丽的九九乘法表效果
Mar 29 Javascript
Bootstrap布局之栅格系统学习笔记
May 04 Javascript
JavaScript数组基于交换的排序示例【冒泡排序】
Jul 21 Javascript
javascript实现贪吃蛇小练习
Jul 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+MySQL的聊天室设计
2006/10/09 PHP
提升PHP执行速度全攻略(下)
2006/10/09 PHP
php 过滤危险html代码
2009/06/29 PHP
利用php递归实现无限分类 格式化数组的详解
2013/06/08 PHP
php curl常用的5个经典例子
2017/01/20 PHP
PHP+MySQL实现消息队列的方法分析
2018/05/09 PHP
struts2 jquery 打造无限层次的树
2009/10/23 Javascript
myeclipse安装jQuery插件的方法
2011/03/29 Javascript
鼠标移入移出事件改变图片的分辨率的两种方法
2013/12/17 Javascript
js 本地预览的简单实现方法
2014/02/18 Javascript
深入探究使JavaScript动画流畅的一些方法
2015/06/30 Javascript
javascript实现页面刷新时自动清空表单并选中的方法
2015/07/18 Javascript
Vue配合iView实现省市二级联动的示例代码
2018/07/27 Javascript
Vue中的v-for指令不起效果的解决方法
2018/09/27 Javascript
vue地址栏直接输入路由无效问题的解决
2018/11/15 Javascript
微信小程序HTTP接口请求封装的实现
2019/02/21 Javascript
ant design pro中可控的筛选和排序实例
2020/11/17 Javascript
[16:14]教你分分钟做大人:米拉娜(HEROS)
2014/11/24 DOTA
Python global全局变量函数详解
2018/09/18 Python
用python打印菱形的实操方法和代码
2019/06/25 Python
Python目录和文件处理总结详解
2019/09/02 Python
Python基于百度AI实现OCR文字识别
2020/04/02 Python
宝塔面板成功部署Django项目流程(图文)
2020/06/22 Python
python让函数不返回结果的方法
2020/06/22 Python
python中pivot()函数基础知识点
2021/01/03 Python
JD Sports比利时官网:英国领先的运动鞋和运动服饰零售商
2018/10/10 全球购物
Otticanet意大利:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
Capitol Lighting的1800lighting.com:住宅和商业照明
2019/04/10 全球购物
美国踏板车和轻便摩托车销售网站:Mega Motor Madness
2020/02/26 全球购物
酒店营销策划方案
2014/02/07 职场文书
简历里的自我评价范文
2014/02/24 职场文书
党的群众路线对照检查材料范文
2014/09/24 职场文书
2014年宣传部工作总结
2014/11/12 职场文书
2016庆祝国庆67周年宣传语
2015/11/25 职场文书
干部作风纪律整顿心得体会
2016/01/23 职场文书
使用SQL实现车流量的计算的示例代码
2022/02/28 SQL Server