前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jquery插件的简单写法

Jquery插件的简单写法

作者头像
古时的风筝
发布2022-05-11 11:34:45
7140
发布2022-05-11 11:34:45
举报
文章被收录于专栏:古时的风筝古时的风筝

记录下编写jquery插件的两种写法:

写法一:

代码语言:javascript
复制
(function($){

  $.fn.hoverAlert = function(options){

    var def ={message:'haha'};

    options = $.extend(def,options);

    $(this).bind("mouseover",function(){

        alert(options.message);

      }

  });

})(jQuery);

写法二:

代码语言:javascript
复制
(function($){

  $.fn.extend({ function(options){

    var def ={message:'test'};

    options = $.extend(def,options);

    $(this).bind("mouseover",function(){

        alert(options.message);

      }

    });

  }

})(jQuery);

引用方法:

页面中首先引入jquery 1.7 ,然后引入刚刚编写的插件js文件。

调用示例如下:

  $(document).ready(function(){

    $("#testdiv").hoverAlert(); 

    //$("#testdiv").hoverAlert({message:'弹出内容'}); 

   });

这里有一个弹出层的例子:

代码语言:javascript
复制
(function ($) {
    $.fn.hoverAlert = function (options) {
        var def = { width: "auto", height: "40px", message: "haha" }; //默认设置
        options = $.extend(def, options);  //合并用户自定义设置于默认设置
        //绑定事件  鼠标进入创建弹出层  鼠标移动弹出层随之移动 鼠标离开弹出层消失
        $(this).mouseenter(function (e) {
            CreateFloatDiv(this, e.pageX, e.pageY);
        }).mousemove(function (e) {
            MoveFloatDiv(e.pageX, e.pageY);
        }).mouseleave(function () { HideFloatDiv(); });

        //创建弹出层
        var CreateFloatDiv = function (me,x,y) {
            $(me).append("<div class='floatDiv1988999889' style='position:absolute;border:1px solid #cccccc;'>" + options.message + "</div>");
            var floatDiv = MoveFloatDiv(x, y);
            floatDiv.css("width", options.width)
            .css("height", options.height)
            .css("background-image", "url(img/bg.png)")
            .css("backgroun-repeat", "repeat");
        }

        //设置弹出层跟随鼠标移动
        var MoveFloatDiv = function (x,y) {
            var floatDiv = $(".floatDiv1988999889");
            floatDiv.css("left", x + "px");
            floatDiv.css("top", y + "px");
            return floatDiv;
        }

        //移除弹出层
        var HideFloatDiv = function () {
            $(".floatDiv1988999889").remove();
        }
    }
})(jQuery);

 Demo下载地址:https://files.cnblogs.com/fengzheng/jquery%E6%8F%92%E4%BB%B6%E5%86%99%E6%B3%95.rar

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2012-09-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档