基于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 相关文章推荐
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之三
Jan 03 Javascript
同一页面多个商品倒计时JS 基于面向对象的javascript
Feb 16 Javascript
js DOM 元素ID就是全局变量
Sep 20 Javascript
下载文件个别浏览器文件名乱码解决办法
Mar 19 Javascript
jQuery简单图表peity.js使用示例
May 02 Javascript
整理一些最近经常遇到的前端面试题
Apr 25 Javascript
jQuery EasyUI的TreeGrid查询功能实现方法
Aug 08 jQuery
vue实现样式之间的切换及vue动态样式的实现方法
Dec 19 Javascript
Bootstrap开发中Tab标签页切换图表显示问题的解决方法
Jul 13 Javascript
解决vue页面渲染但dom没渲染的操作
Jul 27 Javascript
Vue 构造选项 - 进阶使用说明
Aug 14 Javascript
JavaScript实现前端网页版倒计时
Mar 24 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
图解上海144收音机
2021/03/02 无线电
php下统计用户在线时间的一种尝试
2010/08/26 PHP
兼容各大浏览器带关闭按钮的漂浮多组图片广告代码
2014/06/05 PHP
php获取网页上所有链接的方法
2015/04/03 PHP
Yii框架实现记录日志到自定义文件的方法
2017/05/23 PHP
javascript FormatNumber函数实现方法
2008/12/30 Javascript
jquery 清空file域示例(兼容个浏览器)
2013/10/11 Javascript
JavaScript异步加载浅析
2014/12/28 Javascript
js断点调试心得分享(必看篇)
2017/12/08 Javascript
Linux Centos7.2下安装nodejs&amp;npm配置全局路径的教程
2018/05/15 NodeJs
Vuex中的State使用介绍
2019/01/19 Javascript
微信小程序实现的动态设置导航栏标题功能示例
2019/01/31 Javascript
JavaScript数据结构与算法之检索算法实例分析【顺序查找、最大最小值、自组织查询】
2019/02/22 Javascript
package.json中homepage属性的作用详解
2020/03/11 Javascript
js实现微信聊天界面
2020/08/09 Javascript
基于element-ui封装表单金额输入框的方法示例
2021/01/06 Javascript
[01:00:14]DOTA2官方TI8总决赛纪录片 真视界True Sight
2019/01/16 DOTA
用Python抢过年的火车票附源码
2015/12/07 Python
Django添加feeds功能的示例
2018/08/07 Python
python try except返回异常的信息字符串代码实例
2019/08/15 Python
Python写出新冠状病毒确诊人数地图的方法
2020/02/12 Python
Python3标准库之threading进程中管理并发操作方法
2020/03/30 Python
python变量的作用域是什么
2020/05/26 Python
使用openCV去除文字中乱入的线条实例
2020/06/02 Python
英国知名的护肤彩妆与时尚配饰大型综合零售电商:Unineed
2016/11/21 全球购物
爱他美官方海外旗舰店:Aptamil奶粉
2017/12/22 全球购物
乡镇干部十八大感言
2014/02/17 职场文书
葬礼司仪主持词
2014/03/31 职场文书
5s标语大全
2014/06/23 职场文书
国企干部对照检查材料
2014/08/22 职场文书
学校清洁工岗位职责
2015/04/15 职场文书
项目投资意向书范本
2015/05/09 职场文书
2016秋季田径运动会广播稿
2015/12/21 职场文书
修改并编译golang源码的操作步骤
2021/07/25 Golang
关于React Native使用axios进行网络请求的方法
2021/08/02 Javascript
JS实现九宫格拼图游戏
2022/06/28 Javascript