鼠标放上去,列表菜单后移动的jquery代码--jquery插件的写法

本文介绍了一种使用jQuery创建鼠标悬停时列表菜单动态变化的代码实现。通过扩展jQuery的fn对象,定义了一个名为paddingList的插件,该插件接受animatePadding和hoverColor两个参数,当鼠标悬停在列表项上时,会改变文字颜色并动态调整内边距。同时,展示了如何在页面加载完成后调用这个插件应用到指定的列表元素上。

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

html代码:

<ul id="catagory">
    <li id="7"><a href="#">jQuery</a></li>
    <li><a href="#">Asp.net</a></li>
    <li><a href="#">Sql Server</a></li>
    <li><a href="#">CSS</a></li>
</ul>

 

js代码:

//为避免冲突,将定义的方法用一个匿名的方法包裹起来
(function ($) {
     //扩展这个方法到jquery
  //$.fn是jquery的命名空间,加上fn上的属性和方法,会对jquery每一个实例有效
     //如扩展$.fn.abc(),即$.fn.abc()是对jquery扩展了一个abc方法,那么后面你的每一个jquery实例都可以引用这个方法了
  //那么你可以这样子:$("#div").abc();
  //jQuery.extend(object); 用来在jQuery命名空间上增加新函数。
 //jQuery.fn.extend(object);给jQuery对象添加方法。

 

    $.fn.extend({
        //(方法)插件名称 - paddingList
  //将可选择的变量传给方法
        paddingList: function (options) {

            //参数和默认值
            var defaults = {
                animatePadding: 10,
                hoverColor: "Black",
    
            };
   
            var options = $.extend(defaults, options);
   
   //遍历匹配函数的集合
            return this.each(function () {
                var o = options;

                //将元素集合赋给变量 本例中是 ul对象
                var obj = $("ul");

                //得到ul中的a对象
                var items = $("li a", obj);

                //添加hover()事件到a
                items.hover(function () {
                    $(this).css("color", o.hoverColor);
                    //queue false表示不添加到动画队列中
                    $(this).animate({ paddingLeft: o.animatePadding }, { queue: false, duration: 300 });

                }, function () {
                    $(this).css("color", "#000000");
                    $(this).animate({ paddingLeft: "0" }, { queue: true, duration: 300 });
                });

            });
        }
    });
})(jQuery);

 

 

使用插件的方法:

$(document).ready(function(){

        $("#catagory").paddingList({ animatePadding:30, hoverColor:"Red" });

});

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值