源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-07-23 16:29 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:自定义一个jquery插件[鼠标悬浮时候 出现说明label]
最近在学习jquery,看了几天,决定做个小东西练练手。入门级的可以看看。 先看下面这个小东西有什么功能,有模有用。   功能:当你鼠标悬浮在你的html元素上面的时候,它会显示一个help说明性的label。   效果图:       原始:       [img]http://pic002.cnblogs.com/images/2011/136488/2011062712062178.png[/img]       当你的鼠标悬浮在'单击我吧1'时:       [img]http://pic002.cnblogs.com/images/2011/136488/2011062712035348.png[/img]       当你的鼠标悬浮在'textbox'时:       [img]http://pic002.cnblogs.com/images/2011/136488/2011062712040921.png[/img] 看了效果图,若是有兴趣的话,仔细看看代码吧,代码有注释 html 代码:
[url=http://www.baidu.com]<input type="text" id="f" value="这是一个textbox" /><br /> </body> </html>
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("<div id='linkDiv" + linkDivId + "' style='background-color:" + options.bgcolor + ";color:" + options.ftcolor + ";width:" + options.width + ";display:none;top:" + top + "px;left:" + left + "px;position:absolute;float:left'>" + options.helpText + "</div>"); $("#linkDiv" + linkDivId).show(); }); $(this).mouseleave(function () { $("#linkDiv" + linkDivId).remove(); }); }; })(jQuery);
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部