基于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中(function(){})()执行顺序的理解
Mar 05 Javascript
jquery中animate动画积累的解决方法
Oct 05 Javascript
改变文件域的样式实现思路同时兼容ie、firefox
Oct 23 Javascript
原生JavaScript实现滚动条效果
Mar 24 Javascript
基于jQuery的Web上传插件Uploadify使用示例
May 19 Javascript
Bootstrap超大屏幕的实现代码
Mar 22 Javascript
vue2 中如何实现动态表单增删改查实例
Jun 09 Javascript
微信小程序踩坑记录之解决tabBar.list[3].selectedIconPath大小超过40kb
Jul 04 Javascript
node错误处理与日志记录的实现
Dec 24 Javascript
解决vue项目,npm run build后,报路径错的问题
Aug 13 Javascript
详解Vue3 Teleport 的实践及原理
Dec 02 Vue.js
Vue实现一种简单的无限循环滚动动画的示例
Jan 10 Vue.js
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 cookie 作用范围?不要在当前页面使用你的cookie
2009/03/24 PHP
基于PHP CURL用法的深入分析
2013/06/09 PHP
destoon实现首页显示供应、企业、资讯条数的方法
2014/07/15 PHP
PHP Smarty模版简单使用方法
2016/03/30 PHP
PHP中字符串长度的截取用法示例
2017/01/12 PHP
PHP7下协程的实现方法详解
2017/12/17 PHP
JavaScript下利用fso判断文件是否存在的代码
2010/12/11 Javascript
jCallout 轻松实现气泡提示功能
2013/09/22 Javascript
js判断为空Null与字符串为空简写方法
2014/02/24 Javascript
javascript中String对象的slice()方法分析
2014/12/20 Javascript
jquery实现手风琴效果
2015/11/20 Javascript
JQuery validate插件Remote用法大全
2016/05/15 Javascript
webpack+vue.js快速入门教程
2016/10/12 Javascript
elemetUi 组件--el-upload实现上传Excel文件的实例
2017/10/27 Javascript
详解JS数值Number类型
2018/02/07 Javascript
webpack vue项目开发环境局域网访问方法
2018/03/20 Javascript
使用vue打包时vendor文件过大或者是app.js文件很大的问题
2018/06/29 Javascript
vue脚手架搭建项目的兼容性配置详解
2018/07/17 Javascript
VUE实现可随意拖动的弹窗组件
2018/09/25 Javascript
js中async函数结合promise的小案例浅析
2019/04/14 Javascript
layui之数据表格--与后台交互获取数据的方法
2019/09/29 Javascript
JS实现TITLE悬停长久显示效果完整示例
2020/02/11 Javascript
python进阶之多线程对同一个全局变量的处理方法
2018/11/09 Python
np.random.seed() 的使用详解
2020/01/14 Python
Python 跨.py文件调用自定义函数说明
2020/06/01 Python
解决python运行启动报错问题
2020/06/01 Python
python脚本和网页有何区别
2020/07/02 Python
matplotlib事件处理基础(事件绑定、事件属性)
2021/02/03 Python
Ted Baker英国官网:男士和女士服装及配件
2017/03/13 全球购物
机械设计毕业生自荐信
2014/02/02 职场文书
四年大学自我鉴定
2014/02/17 职场文书
优质服务活动实施方案
2014/05/02 职场文书
泰山导游词
2015/02/02 职场文书
解决pytorch-gpu 安装失败的记录
2021/05/24 Python
用Python编写简单的gRPC服务的详细过程
2021/07/04 Python
Python 中 Shutil 模块详情
2021/11/11 Python