基于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 相关文章推荐
用js实现的仿sohu博客更换页面风格(简单版)
Mar 22 Javascript
js数字输入框(包括最大值最小值限制和四舍五入)
Nov 24 Javascript
javascript 获取元素位置的快速方法 getBoundingClientRect()
Nov 26 Javascript
window.location.reload()方法刷新页面弹出要再次显示该网页对话框
Apr 24 Javascript
5分钟理解JavaScript中this用法分享
Nov 09 Javascript
jQuery多个版本和其他js库冲突的解决方法
Aug 11 Javascript
vue-router 中router-view不能渲染的解决方法
May 23 Javascript
js随机生成一个验证码
Jun 01 Javascript
限时抢购-倒计时的完整实例(分享)
Sep 17 Javascript
深入理解Vue 单向数据流的原理
Nov 09 Javascript
详解一个基于react+webpack的多页面应用配置
Jan 21 Javascript
详解Nuxt.js中使用Element-UI填坑
Sep 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中操作Excel实例代码
2010/04/29 PHP
使用PHP导出Redis数据到另一个Redis中的代码
2014/03/12 PHP
php中替换字符串函数strtr()和str_repalce()的用法与区别
2016/11/25 PHP
[原创]PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】
2019/07/12 PHP
深入理解JavaScript系列(9) 根本没有“JSON对象”这回事!
2012/01/15 Javascript
javascript for循环从入门到偏门(效率优化+奇特用法)
2012/08/01 Javascript
javascript 回调函数详解
2014/11/11 Javascript
jQuery中toggleClass()方法用法实例
2015/01/05 Javascript
JavaScript获取文本框内选中文本的方法
2015/02/20 Javascript
jQuery实现360°全景拖动展示
2015/03/18 Javascript
JS实现字符串转日期并比较大小实例分析
2015/12/09 Javascript
jQuery中iframe的操作(点击按钮新增窗口)
2016/04/20 Javascript
vue实现ToDoList简单实例
2017/02/07 Javascript
vue-cli如何添加less 以及sass
2017/07/06 Javascript
JavaScript代码实现txt文件的上传预览功能
2018/03/27 Javascript
React 使用recharts实现散点地图的示例代码
2018/12/07 Javascript
微信小程序tabBar设置实例解析
2019/11/14 Javascript
Vue export import 导入导出的多种方式与区别介绍
2020/02/12 Javascript
Vue 实现监听窗口关闭事件,并在窗口关闭前发送请求
2020/09/01 Javascript
[58:21]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第二场
2018/04/04 DOTA
PYTHON正则表达式 re模块使用说明
2011/05/19 Python
Win10下Python环境搭建与配置教程
2016/11/18 Python
Python 实现购物商城,含有用户入口和商家入口的示例
2017/09/15 Python
python二维列表一维列表的互相转换实例
2018/07/02 Python
Python使用pyautocad+openpyxl处理cad文件示例
2019/07/11 Python
简单了解django缓存方式及配置
2019/07/19 Python
调用其他python脚本文件里面的类和方法过程解析
2019/11/15 Python
html5 input元素新特性_动力节点Java学院整理
2017/07/06 HTML / CSS
HTML5微信播放全屏问题的解决方法
2017/03/09 HTML / CSS
运动鞋、足球鞋和慕尼黑球衣:Sport Münzinger
2019/08/26 全球购物
意大利在线眼镜精品店:Ottica Lipari
2019/11/11 全球购物
Java的基础面试题附答案
2016/01/10 面试题
商务日语毕业生自荐信范文
2013/11/14 职场文书
班级标语大全
2014/06/21 职场文书
工人先锋号事迹材料
2014/12/24 职场文书
户外亲子活动总结
2015/05/08 职场文书