这篇文章给大家分享的是有关jQuery实现手风琴效果的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
jQuery中主要通过鼠标滑入或滑出时给animate设置宽度来实现手风琴效果
今天将和大家介绍如何使用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()停止原先的动画目的是为了防止动画重叠影响效果。
完整代码展示
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> <style> *{ padding: 0; margin: 0; list-style: none; } ul{ width:1300px; } .box{ width:1200px; height: 200px; border: 1px solid #ccc; margin: 100px auto; } .box li{ width:240px; height: 200px; float:left;//让所有的li元素左对齐 } </style> </head> <body> <div> <ul> <li></li> <li></li> <li></li> <li></li> <li></li> </ul> </div> <script src="jquery/jquery-1.12.4.js"></script> <script> $(function(){ for(var i=0;i<$(".box>ul>li").length;i++){ $(".box>ul>li").eq(i).css("backgroundImage","url(image/"+(i+1)+".jpg)"); } $(".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> </body> </html>
效果图
动画演示
感谢各位的阅读!关于jQuery实现手风琴效果的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。