基于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 相关文章推荐
鼠标图片振动代码
Jul 06 Javascript
js同时按下两个方向键
Dec 01 Javascript
Jquery选择器 $实现原理
Dec 02 Javascript
javascript 面向对象全新理练之数据的封装
Dec 03 Javascript
javascript获取web应用根目录的方法
Feb 12 Javascript
jquery实现select选中行、列合计示例
Apr 25 Javascript
基于javascript实现句子翻牌网页版小游戏
Mar 23 Javascript
jquery心形点赞关注效果的简单实现
Nov 14 Javascript
JavaScript实现form表单的多文件上传
Mar 27 Javascript
JavaScript设计模式之缓存代理模式原理与简单用法示例
Aug 07 Javascript
使用js实现一个简单的滚动条过程解析
Sep 10 Javascript
在vue中使用axios实现post方式获取二进制流下载文件(实例代码)
Dec 16 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
基于Discuz security.inc.php代码的深入分析
2013/06/03 PHP
Linux下PHP安装mcrypt扩展模块笔记
2014/09/10 PHP
php 类自动载入的方法
2015/06/03 PHP
详解PHP原生DOM对象操作XML的方法
2016/10/17 PHP
jQuery 事件的命名空间简单了解
2013/11/22 Javascript
jQuery中事件对象e的事件冒泡用法示例介绍
2014/04/25 Javascript
jQuery简单操作cookie的插件实例
2016/01/13 Javascript
js字符串操作总结(必看篇)
2016/11/22 Javascript
微信小程序动态的加载数据实例代码
2017/04/14 Javascript
vue页面使用阿里oss上传功能的实例(二)
2017/08/09 Javascript
jquery animate动画持续运动的实例
2017/11/29 jQuery
Angularjs实现控制器之间通信方式实例总结
2018/03/27 Javascript
vue.js做一个简单的编辑菜谱功能
2018/05/08 Javascript
使用layui定义一个模块并使用的例子
2019/09/14 Javascript
JS变量提升原理与用法实例浅析
2020/05/22 Javascript
node运行js获得输出的三种方式示例详解
2020/07/02 Javascript
Jquery如何使用animation动画效果改变背景色的代码
2020/07/20 jQuery
[02:05]2014DOTA2西雅图国际邀请赛 BBC第二天小组赛总结
2014/07/11 DOTA
python3.4用函数操作mysql5.7数据库
2017/06/23 Python
详解python里使用正则表达式的全匹配功能
2017/10/19 Python
http请求 request失败自动重新尝试代码示例
2018/01/25 Python
python中sys.argv函数精简概括
2018/07/08 Python
python绘图模块matplotlib示例详解
2019/07/26 Python
Python调用JavaScript代码的方法
2020/10/27 Python
美国皮靴公司自1863年:The Frye Company
2016/11/30 全球购物
绝对经典成功的大学生推荐信
2013/11/08 职场文书
小车司机岗位职责
2013/11/25 职场文书
党务公开方案
2014/05/06 职场文书
小城镇建设汇报材料
2014/08/16 职场文书
2014年财务经理工作总结
2014/12/08 职场文书
学生检讨书范文
2015/01/27 职场文书
2015年教师节新闻稿
2015/07/17 职场文书
2015年电气技术员工作总结
2015/07/24 职场文书
python操作xlsx格式文件并读取
2021/06/02 Python
python中subplot大小的设置步骤
2021/06/28 Python
微软官方消息,在 2023 年 4 月 11 日之后微软将不再为 Office 2013 和 Skype for Business 2015 提供安全更新
2022/04/21 数码科技