首页 >web前端 >js教程 >jQuery如何实现手风琴效果

jQuery如何实现手风琴效果

清浅
清浅原创
2018-11-28 16:44:246955浏览

jQuery中主要通过鼠标滑入或滑出时给animate设置宽度来实现手风琴效果

今天将和大家介绍如何使用jQuery来实现手风琴效果也就是当鼠标进入时会扩展,滑出时会变小的效果

【推荐课程:jQuery教程

jQuery手风琴

实现手风琴效果所需要的知识点

(1)通过for循环来遍历所有的图片,利用jQuery中eq()方法选择li标签给他添加背景图片

eq(index)方法:指示元素的位置(最小为 0),如果为负数,则从集合中的最后一个元素往回计数。

$(".box>ul>li").eq(i).css("backgroundImage","url(image/"+(i+1)+".jpg)");

(2)mouseenter():鼠标指针滑进元素时,会触发事件即执行当发生 mouseenter 事件时被运行的函数

(3)mouseleave():当鼠标指针离开元素时,会触发事件,规定当发生 mouseleave 事件时被运行的函数,该事件大多数时候会与 mouseenter 事件一起使用。

(4)stop(stopAll,goToEnd):停止当前正在运行的动画。


stopAll :是否停止被选元素的所有加入队列的动画,   

goToEnd :是否允许完成当前的动画。

这两个参数都是可选的但是goToEnd 参数只能在设置了 stopAll 参数时才可以使用,不能单独使用

(5)siblings(selector): 获得匹配集合中每个元素的并通过选择器进行筛选是可选的。


selector 指字符串值,指用于匹配元素的选择器表达式。

(6)animate() 方法:执行 CSS 属性集的自定义动画。该方法通过CSS样式将元素从一个状态改变为另一个状态,注意只有数字值可创建动画,字符串值无法创建动画。

注意:在写动画时注意要加stop()停止原先的动画目的是为了防止动画重叠影响效果。


完整代码展示





Document



<script> $(function(){ for(var i=0;i<$(".box>ul>li").length;i++){ $(&quot;.box&gt;ul&gt;li&quot;).eq(i).css(&quot;backgroundImage&quot;,&quot;url(image/&quot;+(i+1)+&quot;.jpg)&quot;); } $(".box>ul>li").mouseenter(function(){ // 鼠标滑过时li的宽度为800,离开时为240 $(this).stop().animate({width:800}).siblings().stop().animate({width:100}).mouseleave (function(){ $(".box>ul>li").stop().animate({width:240}) }) }) }) </script>

效果图

Image 12.jpg

动画演示

GIF2.gif

总结:以上就是本篇文章的全部内容了,希望通过本篇文章可以让大家学会如何通过jQuery来实现手风琴效果。


以上是jQuery如何实现手风琴效果的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn