jQuery代码实现图片墙自动+手动淡入淡出切换效果


Posted in Javascript onMay 09, 2016

相关阅读:

在网页上经常可以看到有背景图片可以自动淡入淡入切换的效果,非常漂亮,实用性也非常高。今天小编抽个时间给大家分享基于jquery代码实现图片墙自动+手动淡入淡出切换效果,一起学习吧!

先给大家展示效果图,如果大家觉得还不错,请参考具体实现代码。

jQuery代码实现图片墙自动+手动淡入淡出切换效果

添加一个div(class=container),设置宽度和高度,这里设置了宽800px,高450px。添加居中的定位。在div里面添加一个ul(class="img")列表用来盛放图片,设置ul里面的li标签position为absolute,这时图片会重合在一起,同时设置display为none。图片设置宽度和高度与container相同。在container里面再添加一个ul列表用来盛放下面的一排数字,然后进行相应的定位和设置。添加两个div:left和right,分别是左右两个按钮,进行相应的定位和设置,里面的箭头分别是大于号和小于号。

实现思路及原理介绍:

当鼠标移动到对应的数字上面的时候,用$(this).index()获得数字所在容器里面的序号,然后将序号传递到eq()函数里面获得 li 标签,然后添加函数fadeIn();这样隐藏的图片就显示出来了,同时调用sibling().fadeOut(),让同级的兄弟节点隐藏起来,这样之前显示的图片就隐藏了起来。

添加setInterval()函数,让图片每隔相同的时间变换一次。

我觉得一个主要的问题就是自动切换和手动切换的冲突,当鼠标移动到图片上面的时候应该停止自动切换,在这里用的方法是:

给container添加hover函数,当鼠标移动到container里面的时候用clearInterval()函数去掉时间间隔函数,这样当鼠标移动到图片上面的时候,图片就不会切换了,当鼠标移出的时候添加setInterval()函数。这样图片就能继续切换了。

注意:i 和 t 需要设置成全局变量,这样不同的函数才能共用。i 表示当前显示图片的索引。t 是setInterval的ID。当鼠标移出的时候不用再var一个t了,只需:t=setInterval(time_fun,1500);即可。

eq(n):找到第n个元素

eg:$('li').eq(2).css('background-color', 'red');//设置第二个li标签的背景颜色为红色

index():找到该元素的索引值

有兴趣的研究一下代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-">
<title>jquery_img_switch</title>
</head>
<style type="text/css">
*{
margin: ;
padding: ;
}
.container{
width: px;
height: px;
margin: px auto;
position: relative;
}
.container .img{
list-style: none;
/*position: absolute;*/
}
.container .img li{
position: absolute;
display: none;
}
.container .img img{
width: px;
height: px;
}
.container .num{
position: absolute;
list-style: none;
font-size: ;
bottom: px;
width: %;
text-align: center; 
}
.container .num li{
width: px;
height: px;
background: rgba(,,,.);
border-radius: %;
color: #;
display: inline-block;
line-height: px;
text-align: center;
font-size: px;
margin-right: px;
cursor: pointer;
}
.left, .right{
width: px;
height: px;
text-align: center;
line-height: px;
background-color: rgba(,,,.);
color: #fff;
position: absolute;
top: %;
margin-top: -px; 
font-size: px;
cursor: pointer;
}
.left{
left: px;
}
.right{
right: px;
}
.container .num .active{
background: rgba(,,,);
color: #fff;
}
</style>
<script type="text/javascript" src="../jquery-...min.js"></script>
<script type="text/javascript">
var i=;
var t;
$(document).ready(function(){
$(".container .img li").eq(i).fadeIn().siblings().fadeOut(); 
$(".container .num li").on("mouseover",active);
t=setInterval(time_fun,);
$(".container").hover(in_fun,out_fun);
$(".container .left").on("click",left_fun);
$(".container .right").on("click",right_fun);
});
function time_fun(){
i++;
if(i==){
i=;
}
$(".container .num li").eq(i).addClass("active").siblings().removeClass("active");
$(".container .img li").eq(i).fadeIn().siblings().fadeOut();
}
function in_fun(){
clearInterval(t);
}
function out_fun(){
t=setInterval(time_fun,);
}
function active(){
$(this).addClass("active").siblings().removeClass("active");
$(".container .img li").eq($(this).index()).fadeIn().siblings().fadeOut();
i=$(this).index();
}
function left_fun(){
i--;
if(i==-){
i=;
}
$(".container .num li").eq(i).addClass("active").siblings().removeClass("active");
$(".container .img li").eq(i).fadeIn().siblings().fadeOut();
}
function right_fun(){
i++;
if(i==){
i=;
}
$(".container .num li").eq(i).addClass("active").siblings().removeClass("active");
$(".container .img li").eq(i).fadeIn().siblings().fadeOut();
}
</script>
<body>
<div class="container">
<ul class="img">
<li ><img src="../../Img/.jpg"></li>
<li><img src="../../Img/.jpg"></li>
<li><img src="../../Img/.jpg"></li>
<li><img src="../../Img/.jpg"></li>
<li><img src="../../Img/.jpg"></li>
<li><img src="../../Img/.jpg"></li>
<li><img src="../../Img/.jpg"></li>
<li><img src="../../Img/.jpg"></li>
<li><img src="../../Img/.jpg"></li>
<li><img src="../../Img/.jpg"></li>
</ul>
<ul class="num">
<li class="active"></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
<div class="left"><</div>
<div class="right">></div>
</div>
</body>
</html>

以上是小编给大家带来的jQuery代码实现图片墙自动+手动淡入淡出切换效果,希望对大家有所帮助,同时也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript 字符串处理函数使用小结
Dec 02 Javascript
css样式标签和js语法属性区别
Nov 06 Javascript
一个获取第n个元素节点的js函数
Sep 02 Javascript
45个JavaScript编程注意事项、技巧大全
Feb 11 Javascript
基于jQuery实现Div窗口震动特效代码-代码简单
Aug 28 Javascript
使用Script元素发送JSONP请求的方法
Jun 12 Javascript
js获取上传文件的绝对路径实现方法
Aug 02 Javascript
JS仿hao123导航页面图片轮播效果
Sep 01 Javascript
ReactNative中使用Redux架构总结
Dec 15 Javascript
vue路由中前进后退的一些事儿
May 18 Javascript
简述ES6新增关键字let与var的区别
Aug 23 Javascript
一步一步实现Vue的响应式(对象观测)
Sep 02 Javascript
jQuery绑定事件的几种实现方式
May 09 #Javascript
jquery实现左右无缝轮播图
Jul 31 #Javascript
node.js从数据库获取数据
May 08 #Javascript
JavaScript希尔排序、快速排序、归并排序算法
May 08 #Javascript
基于jquery实现最简单的选项卡切换效果
May 08 #Javascript
基于javascript实现图片滑动效果
May 07 #Javascript
基于jquery实现图片放大功能
May 07 #Javascript
You might like
Joomla数据库操作之JFactory::getDBO用法
2016/05/05 PHP
PHP错误处理函数register_shutdown_function使用示例
2017/07/03 PHP
php判断电子邮件是否正确方法
2018/12/04 PHP
JS.getTextContent(element,preformatted)使用介绍
2013/09/21 Javascript
js数组转json并在后台对其解析具体实现
2013/11/20 Javascript
jQuery中ajax的get()方法用法实例
2014/12/26 Javascript
js实现键盘上下左右键选择文字并显示在文本框的方法
2015/05/07 Javascript
javascript实现九宫格相加数值相等
2020/05/28 Javascript
js简单获取表单中单选按钮值的方法
2016/08/23 Javascript
JS调用Android、Ios原生控件
2017/01/06 Javascript
js手机号批量滚动抽奖实现代码
2020/04/17 Javascript
ES6中Proxy代理用法实例浅析
2017/04/06 Javascript
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
2017/07/22 jQuery
parabola.js抛物线与加入购物车效果的示例代码
2017/10/25 Javascript
一步步教你利用Docker设置Node.js
2018/11/20 Javascript
Echart折线图手柄触发事件示例详解
2018/12/16 Javascript
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
2019/04/10 jQuery
js实现飞机大战游戏
2020/08/26 Javascript
python逐行读取文件内容的三种方法
2014/01/20 Python
Python中使用PyHook监听鼠标和键盘事件实例
2014/07/18 Python
Python用sndhdr模块识别音频格式详解
2018/01/11 Python
对Python正则匹配IP、Url、Mail的方法详解
2018/12/25 Python
Python 类属性与实例属性,类对象与实例对象用法分析
2019/09/20 Python
Jupyter Notebook折叠输出的内容实例
2020/04/22 Python
如何教少儿学习Python编程
2020/07/10 Python
优衣库台湾官网:UNIQLO台湾
2019/02/01 全球购物
澳大利亚儿童鞋在线:The Trybe
2019/07/16 全球购物
关联、聚合(Aggregation)以及组合(Composition)的区别
2012/02/29 面试题
致1500米运动员广播稿
2014/02/07 职场文书
教师现实表现材料
2014/02/14 职场文书
风险评估实施方案
2014/03/09 职场文书
呼兰河传读书笔记
2015/06/30 职场文书
2015暑期社会实践通讯稿
2015/07/18 职场文书
德能勤绩工作总结
2015/08/11 职场文书
小学生大队委竞选稿
2015/11/20 职场文书
改进工作作风心得体会
2016/01/23 职场文书