基于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实现日期加减的方法
Nov 29 Javascript
浅析javascript 定时器
Dec 23 Javascript
JS实现文字向下滚动完整实例
Feb 06 Javascript
jQuery实现防止提交按钮被双击的方法
Mar 24 Javascript
Javascript的表单验证长度
Mar 16 Javascript
关于JS变量和作用域详解
Jul 28 Javascript
jquery 判断selection range 是否在容器中的简单实例
Aug 02 Javascript
12 款 JS 代码测试必备工具(翻译)
Dec 13 Javascript
超全面的javascript中变量命名规则
Feb 09 Javascript
Vue2.0 实现移动端图片上传功能
May 30 Javascript
Vue组件全局注册实现警告框的实例详解
Jun 11 Javascript
vue中使用props传值的方法
May 08 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采用get获取url汉字出现乱码的解决方法
2014/11/13 PHP
jQuery插件开发全解析
2012/10/10 Javascript
jQuery 隐藏和显示 input 默认值示例
2014/06/03 Javascript
JavaScript-RegExp对象只能使用一次问题解决方法
2014/06/23 Javascript
使用不同的方法结合/合并两个JS数组
2014/09/18 Javascript
javascript使用switch case实现动态改变超级链接文字及地址
2014/12/16 Javascript
jquery ui dialog替代confirm实例分析
2016/01/25 Javascript
jQuery中队列queue()函数的实例教程
2016/05/03 Javascript
清除浏览器缓存的几种方法总结(必看)
2016/12/09 Javascript
jQuery为DOM动态追加事件的方法
2017/02/16 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(2)
2017/02/20 Javascript
浅谈手写node可读流之流动模式
2018/06/01 Javascript
JavaScript去掉数组重复项的方法分析【测试可用】
2018/07/19 Javascript
webpack+vue.js构建前端工程化的详细教程
2020/05/10 Javascript
Vue 集成 PDF.js 实现 PDF 预览和添加水印的步骤
2021/01/22 Vue.js
python解析模块(ConfigParser)使用方法
2013/12/10 Python
Python中operator模块的操作符使用示例总结
2016/06/28 Python
Python文件的读写和异常代码示例
2017/10/31 Python
python 使用pygame工具包实现贪吃蛇游戏(多彩版)
2019/10/30 Python
如何基于Python实现数字类型转换
2020/02/07 Python
Python列表如何更新值
2020/05/27 Python
阿迪达斯德国官方网站:adidas德国
2017/07/12 全球购物
捷克时尚网上商店:OTTO
2018/03/15 全球购物
迟到检讨书大全
2014/01/25 职场文书
县优秀教师事迹材料
2014/01/31 职场文书
金融事务专业毕业生求职信
2014/02/23 职场文书
C++程序员求职信范文
2014/04/14 职场文书
开展党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
会计实训报告范文
2014/11/04 职场文书
2014年党建工作总结
2014/11/11 职场文书
2015年政府采购工作总结
2015/05/21 职场文书
可可西里观后感
2015/06/08 职场文书
2015年学校管理工作总结
2015/07/20 职场文书
spring boot中nativeQuery的用法
2021/07/26 Java/Android
Javascript webpack动态import
2022/04/19 Javascript
win10怎么设置右下角图标不折叠?Win10设置右下角图标不折叠的方法
2022/07/15 数码科技