基于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 操作DOM案例代码分享
Apr 05 Javascript
node.js中的fs.lstat方法使用说明
Dec 16 Javascript
Grunt入门教程(自动任务运行器)
Aug 06 Javascript
js H5 canvas投篮小游戏
Aug 18 Javascript
js 用于检测类数组对象的函数方法
May 02 Javascript
详解react使用react-bootstrap当轮子造车
Aug 15 Javascript
如何快速解决JS或Jquery ajax异步跨域的问题
Jan 08 jQuery
AngularJS实时获取并显示密码的方法
Feb 06 Javascript
新手简单了解vue
May 29 Javascript
Vue脚手架编写试卷页面功能
Mar 17 Javascript
ES6箭头函数和扩展实例分析
May 23 Javascript
ES2020让代码更优美的运算符 (?.) (??)
Jan 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
在PHP中养成7个面向对象的好习惯
2010/01/28 PHP
PHP之sprintf函数用法详解
2014/11/12 PHP
php中file_exists函数使用详解
2015/05/08 PHP
Thinkphp关闭缓存的方法
2015/06/26 PHP
php命令行(cli)模式下报require 加载路径错误的解决方法
2015/11/23 PHP
浏览器无法运行JAVA脚本的解决方法
2008/01/09 Javascript
HTML node相关的一些资料整理
2010/01/01 Javascript
js setTimeout 常见问题小结
2013/08/13 Javascript
javascript按位非运算符的使用方法
2013/11/14 Javascript
判断字符串的长度(优化版)中文占两个字符
2014/10/30 Javascript
JS实现文字链接感应鼠标淡入淡出改变颜色的方法
2015/02/26 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
2015/09/17 Javascript
微信小程序 免费SSL证书https、TLS版本问题的解决办法
2016/12/14 Javascript
基于Bootstrap模态对话框只加载一次 remote 数据的解决方法
2017/07/09 Javascript
node.js 核心http模块,起一个服务器,返回一个页面的实例
2017/09/11 Javascript
微信小程序实现折叠面板
2018/01/31 Javascript
vue.js获得当前元素的文字信息方法
2018/03/09 Javascript
JS实现可针对算术表达式求值的计算器功能示例
2018/09/04 Javascript
Nuxt.js实现一个SSR的前端博客的示例代码
2019/09/06 Javascript
vue基础知识--axios合并请求和slot
2020/06/04 Javascript
手机浏览器唤起微信分享(JS)
2020/10/11 Javascript
老生常谈Python序列化和反序列化
2017/06/28 Python
Python实现字符串与数组相互转换功能示例
2017/09/22 Python
python3写爬取B站视频弹幕功能
2017/12/22 Python
python logging重复记录日志问题的解决方法
2018/07/12 Python
python3 反射的四种基本方法解析
2019/08/26 Python
Python递归及尾递归优化操作实例分析
2020/02/01 Python
基于CSS3实现图片模糊过滤效果
2015/11/19 HTML / CSS
2014年三八妇女节活动方案
2014/02/28 职场文书
优秀经理获奖感言
2014/03/04 职场文书
社团活动总结
2014/04/28 职场文书
毕业横幅标语
2014/10/08 职场文书
党员倡议书
2015/01/19 职场文书
pytorch DataLoader的num_workers参数与设置大小详解
2021/05/28 Python
Python编写nmap扫描工具
2021/07/21 Python
MySQL数据库如何查看表占用空间大小
2022/06/10 MySQL