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 相关文章推荐
重定向实现代码
Nov 20 Javascript
Jquery进度条插件 Progress Bar小问题解决
Jul 12 Javascript
深入Javascript函数、递归与闭包(执行环境、变量对象与作用域链)使用详解
May 08 Javascript
JavaScript实现弹出DIV层同时页面背景渐变成半透明效果
Mar 25 Javascript
jQuery Ajax 全局调用封装实例代码详解
Jun 02 Javascript
jquery文字填写自动高度的实现方法
Nov 07 Javascript
Bootstrap基本样式学习笔记之图片(6)
Dec 07 Javascript
JavaScript事件冒泡与事件捕获实例分析
Aug 01 Javascript
Angular刷新当前页面的实现方法
Nov 21 Javascript
JSON.stringify()方法讲解
Jan 31 Javascript
详解一个小实例理解js原型和继承
Apr 24 Javascript
Layui数据表格判断编辑输入的值,是否为我需要的类型详解
Oct 26 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
咖啡的植物学知识
2021/03/03 咖啡文化
解析PHP正则提取或替换img标记属性
2013/06/26 PHP
php实现保存周期为1天的购物车类
2017/07/07 PHP
一组JS创建和操作表格的函数集合
2009/05/07 Javascript
浅谈javascript的原型继承
2012/07/25 Javascript
JavaScript中setAttribute用法介绍
2013/07/20 Javascript
通过Jquery的Ajax方法读取将table转换为Json
2014/05/31 Javascript
jQuery修改CSS伪元素属性的方法
2014/07/30 Javascript
Jquery中find与each方法用法实例
2015/02/04 Javascript
以Python代码实例展示kNN算法的实际运用
2015/10/26 Javascript
JavaScript面向对象之私有静态变量实例分析
2016/01/14 Javascript
轻松掌握JavaScript中的Math object数学对象
2016/05/26 Javascript
微信小程序使用Promise简化回调
2018/02/06 Javascript
vue-router 起步步骤详解
2019/03/26 Javascript
Python使用cookielib模块操作cookie的实例教程
2016/07/12 Python
完美解决python遍历删除字典里值为空的元素报错问题
2016/09/11 Python
在windows下Python打印彩色字体的方法
2018/05/15 Python
Python图像处理之gif动态图的解析与合成操作详解
2018/12/30 Python
django框架模板中定义变量(set variable in django template)的方法分析
2019/06/24 Python
解决yum对python依赖版本问题
2019/07/05 Python
Python数据可视化:顶级绘图库plotly详解
2019/12/07 Python
使用python求解二次规划的问题
2020/02/29 Python
python实现超级马里奥
2020/03/18 Python
Tensorflow与Keras自适应使用显存方式
2020/06/22 Python
深入了解NumPy 高级索引
2020/07/24 Python
人力资源部培训专员岗位职责
2014/01/02 职场文书
单位领导证婚词
2014/01/14 职场文书
初三学习决心书
2014/03/11 职场文书
陈欧的广告词
2014/03/18 职场文书
企业活动策划方案
2014/06/02 职场文书
运动会入场口号
2014/06/07 职场文书
党员志愿者活动总结
2014/06/26 职场文书
社区四风存在问题及整改措施
2014/10/26 职场文书
职工食堂管理制度
2015/08/06 职场文书
感恩主题班会教案
2015/08/12 职场文书
《云雀的心愿》教学反思
2016/02/23 职场文书