首页 > PHP资讯 > HTML5培训技术 > jQuery代码实现图片墙自动+手动淡入淡出切换效果_jquery

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

HTML5培训技术
相关阅读:

Jquery代码实现图片轮播效果(一)

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

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


添加一个p(class=container),设置宽度和高度,这里设置了宽800px,高450px。添加居中的定位。在p里面添加一个ul(class="img")列表用来盛放图片,设置ul里面的li标签position为absolute,这时图片会重合在一起,同时设置display为none。图片设置宽度和高度与container相同。在container里面再添加一个ul列表用来盛放下面的一排数字,然后进行相应的定位和设置。添加两个p: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():找到该元素的索引值

有兴趣的研究一下代码:

jquery_img_switch<script type="text/javascript" src="../jquery-...min.js?1.1.9">《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》

<

>

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

HTML5培训技术

本文由欣才IT学院整理发布,未经许可,禁止转载。
支持42不支持0