基于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 相关文章推荐
javascript vvorld 在线加密破解方法
Nov 13 Javascript
javascript 用原型继承来实现对象系统
Mar 22 Javascript
jQuery中调用WebService方法小结
Mar 28 Javascript
js Event对象的5种坐标
Sep 12 Javascript
javascript模拟php函数in_array
Apr 27 Javascript
jQuery 判断是否包含在数组中Array[]的方法
Aug 03 Javascript
利用JQuery阻止事件冒泡
Dec 01 Javascript
微信小程序登录态控制深入分析
Apr 12 Javascript
vue addRoutes实现动态权限路由菜单的示例
May 15 Javascript
javascript事件监听与事件委托实例详解
Aug 16 Javascript
小程序使用watch监听数据变化的方法详解
Sep 20 Javascript
vue页面更新patch的实现示例
Mar 25 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
解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别
2013/06/24 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
2020/06/28 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
Js 本页面传值实现代码
2009/05/17 Javascript
关于跨站脚本攻击问题
2011/12/22 Javascript
JavaScript获取多个数组的交集简单实例
2013/11/11 Javascript
JQuery.get提交页面不跳转的解决方法
2015/01/13 Javascript
深入浅析JavaScript中的arguments对象(强力推荐)
2016/06/03 Javascript
jQuery双向列表选择器DIV模拟版
2016/11/01 Javascript
给easyui datebox扩展一个清空的实例
2016/11/09 Javascript
Angularjs+bootstrap+table多选(全选)支持单击行选中实现编辑、删除功能
2017/03/27 Javascript
JS 实现banner图片轮播效果(鼠标事件)
2017/08/04 Javascript
浅谈Vue 初始化性能优化
2017/08/31 Javascript
基于ajax和jsonp的原生封装(实例)
2017/10/16 Javascript
Vue导出json数据到Excel电子表格的示例
2017/12/04 Javascript
浅谈vuejs实现数据驱动视图原理
2018/02/23 Javascript
详解Vue webapp项目通过HBulider打包原生APP
2018/06/29 Javascript
jquery实现垂直无限轮播的方法分析
2019/07/16 jQuery
Bootstrap table 服务器端分页功能实现方法示例
2020/06/01 Javascript
vue实现折线图 可按时间查询
2020/08/21 Javascript
Python中的生成器和yield详细介绍
2015/01/09 Python
Python画图学习入门教程
2016/07/01 Python
python下os模块强大的重命名方法renames详解
2017/03/07 Python
Python3导入CSV文件的实例(跟Python2有些许的不同)
2018/06/22 Python
python对列进行平移变换的方法(shift)
2019/01/10 Python
tensorflow实现打印ckpt模型保存下的变量名称及变量值
2020/01/04 Python
Python私有属性私有方法应用实例解析
2020/09/15 Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
2021/03/04 Python
美国波西米亚风格精品店:South Moon Under
2019/10/26 全球购物
荷兰家电购物网站:Expert.nl
2020/01/18 全球购物
财产保全担保书范文
2014/04/01 职场文书
家长会学生演讲稿
2014/04/26 职场文书
岗位明星事迹材料
2014/05/18 职场文书
房地产工程部经理岗位职责
2015/04/09 职场文书
2015年财务部工作总结
2015/04/10 职场文书
《勇者辞职不干了》ED主题曲无字幕动画MV公开
2022/04/13 日漫