欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

自定义一个jquery插件[鼠标悬浮时候 出现说明label]_jquery

程序员文章站 2022-05-27 08:47:57
...
最近在学习jquery,看了几天,决定做个小东西练练手。入门级的可以看看。

先看下面这个小东西有什么功能,有模有用。

  功能:当你鼠标悬浮在你的html元素上面的时候,它会显示一个help说明性的label。

  效果图:

      原始:

      自定义一个jquery插件[鼠标悬浮时候 出现说明label]_jquery

      当你的鼠标悬浮在'单击我吧1'时:

      自定义一个jquery插件[鼠标悬浮时候 出现说明label]_jquery

      当你的鼠标悬浮在'textbox'时:

      自定义一个jquery插件[鼠标悬浮时候 出现说明label]_jquery

看了效果图,若是有兴趣的话,仔细看看代码吧,代码有注释

html 代码:

复制代码 代码如下:












s单击我吧1






html 代码说明:
  带下划线的是调用jquery插件的传入的参数。
  带有红色的是你自己要注意相匹配的地方
  参数说明:
    shelpText: "default help text", //你要显示label的文档
bgcolor: "red", //label的背景色
ftcolor: "yellow", //label的前景色
width: "200px", //label的宽度
tempLeft: "15", //label相对于鼠标所在位子的left值
tempTop: "15" //label相对于鼠标所在位子的top值
jquery代码[a1.query]
复制代码 代码如下:

/*
* HelpTextFn
* Copyright (c) 2011 yongbin zhang http://www.cnblogs.com/2814/
* Date: 2011-6-27
* 当你鼠标悬浮在你的html元素上面的时候,它会显示一个help说明性的label
*/
//以下代码不可以改变
//注释为代码说明
/*
想要自己定义一个jquery插件,一般的框架就是:
(function ($) {
$.fn.HelpTextFn = function (options) { //要改变的就是HelpTextFn,这是你的jquery函数的名称[在你的html中要调用这个函数的时候就得用到这个名称],
//其他的就不需要进行改变了。
var defaults = { //var defaults{ 这里面是你的这个函数的参数的默认值 }
helpText: "default help text", //你要显示label的文档
bgcolor: "red", //label的背景色
ftcolor: "yellow", //label的前景色
width: "200px", //label的宽度
tempLeft: "15", //label相对于鼠标所在位子的left值
tempTop: "15" //label相对于鼠标所在位子的top值
}
var options = $.extend(defaults, options); //这句话是死的,它的意思就是说,若你在html中调用这个插件的时候,若是没有传入参数的值得话,
//那么我就用defalut里面定义好的参数,否则就用你传入的参数的值,[注意]:下面若是要用到参数的话,
//就得使用[options.参数名]如:options.helpText
$(this).mousemove(function (e) { //添加this的mousemove事件,就是说,哪个html元素调用了我的这个插件,那么我就给他添加mousemove事件
});
$(this).mouseleave(function () { //添加this的mouseleave事件,就是说,哪个html元素调用了我的这个插件,那么我就给他添加mouseleave事件
});
};
})(jQuery); //这句是固定的
*/
(function ($) {
$.fn.HelpTextFn = function (options) {//
var defaults = {
helpText: "default help text",
bgcolor: "red",
ftcolor: "yellow",
width: "200px",
tempLeft: "15",
tempTop: "15"
}
var options = $.extend(defaults, options);
var linkDivId = $(this).attr("id");
$(this).mousemove(function (e) {
if ($("#linkDiv" + linkDivId)) {
$("#linkDiv" + linkDivId).remove();
}
var xx = e.originalEvent.x || e.originalEvent.layerX || 0;
var yy = e.originalEvent.y || e.originalEvent.layerY || 0;
var left = xx + parseInt(options.tempLeft);
var top = yy + parseInt(options.tempTop);
$("#" + linkDivId).after("");
$("#linkDiv" + linkDivId).show();
});
$(this).mouseleave(function () {
$("#linkDiv" + linkDivId).remove();
});
};
})(jQuery);