基于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中onmouse事件在div中失效问题的解决方法
Jan 09 Javascript
jquery多选项卡效果实例代码(附效果图)
Mar 23 Javascript
js实现瀑布流的一种简单方法实例分享
Nov 04 Javascript
按下回车键指向下一个位置的一个函数代码
Mar 10 Javascript
JQuery中模拟image的ajaxPrefilter与ajaxTransport处理
Jun 19 Javascript
详解EasyUi控件中的Datagrid
Aug 23 Javascript
小程序实现五星点评效果
Nov 03 Javascript
详解如何实现Element树形控件Tree在懒加载模式下的动态更新
Apr 25 Javascript
微信小程序下拉框搜索功能的实现方法
Jul 31 Javascript
Vue v-text指令简单使用方法示例
Sep 19 Javascript
浅析微信小程序自定义日历组件及flex布局最后一行对齐问题
Oct 29 Javascript
Vue看了就会的8个小技巧
Jan 21 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判断数组元素中是否存在某个字符串的方法
2014/06/14 PHP
PHP中使用CURL模拟登录并获取数据实例
2014/07/01 PHP
destoon实现调用图文新闻的方法
2014/08/21 PHP
phpstorm配置Xdebug进行调试PHP教程
2014/12/01 PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
2017/05/05 PHP
JavaScript 异步调用框架 (Part 6 - 实例 &amp; 模式)
2009/08/04 Javascript
跨浏览器的 mouseenter mouseleave 以及 compareDocumentPosition的使用说明
2010/05/04 Javascript
Document.location.href和.replace的区别示例介绍
2014/03/04 Javascript
jquery做的一个简单的屏幕锁定提示框
2014/03/26 Javascript
jquery对复选框(checkbox)的操作汇总
2016/01/13 Javascript
JavaScript之cookie技术详解
2016/11/18 Javascript
详解本地Node.js服务器作为api服务器的解决办法
2017/02/28 Javascript
Vue 中文本内容超出规定行数后展开收起的处理的实现方法
2019/04/28 Javascript
通过Nodejs搭建网站简单实现注册登录流程
2019/06/14 NodeJs
react+redux仿微信聊天界面
2019/06/21 Javascript
python使用webbrowser浏览指定url的方法
2015/04/04 Python
Python实现简单的四则运算计算器
2016/11/02 Python
Python随机生成均匀分布在单位圆内的点代码示例
2017/11/13 Python
网红编程语言Python将纳入高考你怎么看?
2018/06/07 Python
Python使用pandas对数据进行差分运算的方法
2018/12/22 Python
利用Python模拟登录pastebin.com的实现方法
2019/07/12 Python
Python3中urlencode和urldecode的用法详解
2019/07/23 Python
python实现猜数字游戏
2020/03/25 Python
Python多个装饰器的调用顺序实例解析
2020/05/22 Python
详解Django关于StreamingHttpResponse与FileResponse文件下载的最优方法
2021/01/07 Python
CSS3制作hover下划线动画
2017/03/27 HTML / CSS
CSS3.0实现霓虹灯按钮动画特效的示例代码
2021/01/12 HTML / CSS
详解HTML5中表单验证的8种方法介绍
2016/12/19 HTML / CSS
关于webview适配H5上传照片或者视频文件的方法
2020/11/04 HTML / CSS
德国旅行、体验和活动的预订平台:Watado
2019/12/04 全球购物
阿迪达斯中国官网:Adidas中国
2020/12/14 全球购物
三八妇女节活动总结
2014/05/04 职场文书
创先争优公开承诺书
2014/08/30 职场文书
四风问题专项整治工作情况报告
2014/10/28 职场文书
求职信:会计求职的写作技巧
2019/04/24 职场文书
Pandas 稀疏数据结构的实现
2021/07/25 Python