用实例讲解jQuery插件封装思路-来自于三人行慕课

本文分享将jQuery手风琴效果案例封装成插件的思路。HTML和CSS布局功能可查看指定链接。通过给jQuery添加accordion方法实现封装,保存代码为js文档并与jQuery文件引入HTML,调用accordion()方法,还可传递参数设置li颜色和宽度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文链接:https://www.3mooc.com/front/articleinfo/220

之前发过一个jQuery手风琴效果的练习案例,今天就拿这个案例来分享一下封装插件的思路。

HTML和CSS的布局和功能基本实现就不在这里写了,可以去:http://www.3mooc.com/front/articleinfo/201

这里查看。

我们今天要做的是把这个功能封装成一个插件,只需要调用一个方法就能使用这个手风琴效果,如图:

接下来我们进行对功能封装的讲解。

//给jQuery添加accordion(手风琴的英文)方法

$.fn.accordion = function (colors, width) {

//设置默认的colors和width参数,避免传参数时报错

colors = colors || [];

width = width || 0;

var $li = this.find(“li”);

var boxLength = this.width();

var maxLength = boxLength - ($li.length - 1) * width;

var avgLength = boxLength / $li.length;

//更改li的颜色,使用时可以通过声明数组的方式设置颜色

$li.each(function (i, e) {

$(e).css("backgroundColor", colors[i]);

});

//给li注册鼠标经过事件

//给li的宽度进行改变

$li.on(“mouseenter”, function () {

$(this).stop().animate({width: maxLength}).siblings().stop()

.animate({width: width})

});

//鼠标离开时宽度改变

$li.on(“mouseleave”, function () {

$li.stop().animate({width: avgLength});

});

};

把这段代码保存成一个js文档,和jQuery文件一起引入到HTML中,就可以通过使用一个accordion()方法来使用了。

在调用这个方法的时候,可以在括号里传递colors参数和width参数来设置每个li的颜色和宽度。li的背景图片可以通过CSS设置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值