自定義一個(gè)jquery插件[鼠標(biāo)懸浮時(shí)候 出現(xiàn)說(shuō)明label]
最近在學(xué)習(xí)jquery,看了幾天,決定做個(gè)小東西練練手。入門(mén)級(jí)的可以看看。
先看下面這個(gè)小東西有什么功能,有模有用。
功能:當(dāng)你鼠標(biāo)懸浮在你的html元素上面的時(shí)候,它會(huì)顯示一個(gè)help說(shuō)明性的label。
效果圖:
原始:

當(dāng)你的鼠標(biāo)懸浮在'單擊我吧1'時(shí):

當(dāng)你的鼠標(biāo)懸浮在'textbox'時(shí):

看了效果圖,若是有興趣的話,仔細(xì)看看代碼吧,代碼有注釋
html 代碼:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="testLinkJquery.aspx.cs" Inherits="testLinkJquery" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script src="Scripts/a1.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#d").HelpTextFn({ helpText: 'this link id is d', bgcolor: 'black', ftcolor: 'red', width: '100px', tempLeft: '15', tempTop: '15' });
$("#f").HelpTextFn({ helpText: 'this textbox id is f', bgcolor: 'black', ftcolor: 'yellow', width: '100px', tempLeft: '15', tempTop: '15' });
})
</script>
<style type="text/css">
a:hover
{
color:Red;
text-decoration:underline;
}
</style>
</head>
<body>
<a id="d">s單擊我吧1</a><br />
<input type="text" id="f" value="這是一個(gè)textbox" /><br />
</body>
</html>
html 代碼說(shuō)明:
帶下劃線的是調(diào)用jquery插件的傳入的參數(shù)。
帶有紅色的是你自己要注意相匹配的地方
參數(shù)說(shuō)明:
shelpText: "default help text", //你要顯示label的文檔
bgcolor: "red", //label的背景色
ftcolor: "yellow", //label的前景色
width: "200px", //label的寬度
tempLeft: "15", //label相對(duì)于鼠標(biāo)所在位子的left值
tempTop: "15" //label相對(duì)于鼠標(biāo)所在位子的top值
jquery代碼[a1.query]
/*
* HelpTextFn
* Copyright (c) 2011 yongbin zhang http://www.cnblogs.com/2814/
* Date: 2011-6-27
* 當(dāng)你鼠標(biāo)懸浮在你的html元素上面的時(shí)候,它會(huì)顯示一個(gè)help說(shuō)明性的label
*/
//以下代碼不可以改變
//注釋為代碼說(shuō)明
/*
想要自己定義一個(gè)jquery插件,一般的框架就是:
(function ($) {
$.fn.HelpTextFn = function (options) { //要改變的就是HelpTextFn,這是你的jquery函數(shù)的名稱[在你的html中要調(diào)用這個(gè)函數(shù)的時(shí)候就得用到這個(gè)名稱],
//其他的就不需要進(jìn)行改變了。
var defaults = { //var defaults{ 這里面是你的這個(gè)函數(shù)的參數(shù)的默認(rèn)值 }
helpText: "default help text", //你要顯示label的文檔
bgcolor: "red", //label的背景色
ftcolor: "yellow", //label的前景色
width: "200px", //label的寬度
tempLeft: "15", //label相對(duì)于鼠標(biāo)所在位子的left值
tempTop: "15" //label相對(duì)于鼠標(biāo)所在位子的top值
}
var options = $.extend(defaults, options); //這句話是死的,它的意思就是說(shuō),若你在html中調(diào)用這個(gè)插件的時(shí)候,若是沒(méi)有傳入?yún)?shù)的值得話,
//那么我就用defalut里面定義好的參數(shù),否則就用你傳入的參數(shù)的值,[注意]:下面若是要用到參數(shù)的話,
//就得使用[options.參數(shù)名]如:options.helpText
$(this).mousemove(function (e) { //添加this的mousemove事件,就是說(shuō),哪個(gè)html元素調(diào)用了我的這個(gè)插件,那么我就給他添加mousemove事件
});
$(this).mouseleave(function () { //添加this的mouseleave事件,就是說(shuō),哪個(gè)html元素調(diào)用了我的這個(gè)插件,那么我就給他添加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);
- jquery鼠標(biāo)放上去顯示懸浮層即彈出定位的div層
- jquery實(shí)現(xiàn)的可隱藏重現(xiàn)的靠邊懸浮層實(shí)例代碼
- 使用jQuery UI的tooltip函數(shù)修飾title屬性的氣泡懸浮框
- jquery實(shí)現(xiàn)鼠標(biāo)懸浮停止輪播特效
- jquery懸浮提示框完整實(shí)例
- 鼠標(biāo)懸浮顯示二級(jí)菜單效果的jquery實(shí)現(xiàn)
- jQuery實(shí)現(xiàn)懸浮在右上角的網(wǎng)頁(yè)客服效果代碼
- jQuery簡(jiǎn)單實(shí)現(xiàn)頁(yè)面元素置頂時(shí)懸浮效果示例
- jQuery鼠標(biāo)懸浮鏈接彈出跟隨圖片實(shí)例代碼
- jQuery實(shí)現(xiàn)的簡(jiǎn)單懸浮層功能完整實(shí)例
相關(guān)文章
jQuery插件form-validation-engine正則表達(dá)式操作示例
這篇文章主要介紹了jQuery插件form-validation-engine正則表達(dá)式操作,結(jié)合實(shí)例形式分析了jQuery插件form-validation-engine進(jìn)行正則驗(yàn)證操作的相關(guān)技巧,需要的朋友可以參考下2017-02-02
jQuery+Ajax+PHP+Mysql實(shí)現(xiàn)分頁(yè)顯示數(shù)據(jù)實(shí)例講解
這是一個(gè)典型的Ajax應(yīng)用,在頁(yè)面上,您只需要點(diǎn)擊“下一頁(yè)”,數(shù)據(jù)區(qū)將自動(dòng)加載對(duì)應(yīng)頁(yè)碼的數(shù)據(jù),重新刷新數(shù)據(jù)區(qū)。類似的效果在很多網(wǎng)站上應(yīng)用,尤其在一些需要展示大量圖片數(shù)據(jù)的網(wǎng)頁(yè)如淘寶商品列表頁(yè),Ajax分頁(yè)效果讓您的網(wǎng)站數(shù)據(jù)加載顯得非常流暢。2015-09-09
基于jQuery的固定表格頭部的代碼(IE6,7,8測(cè)試通過(guò))
目前只能算個(gè)不完整的腳本,不過(guò)一般的僅僅需要表頭凍結(jié)就可以使用了2010-05-05
JQuery發(fā)送ajax請(qǐng)求時(shí)中文亂碼問(wèn)題解決
這篇文章主要介紹了JQuery發(fā)送ajax請(qǐng)求時(shí)中文亂碼問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
jquery動(dòng)態(tài)創(chuàng)建div與input的實(shí)例代碼
下面小編就為大家?guī)?lái)一篇jquery動(dòng)態(tài)創(chuàng)建div與input的實(shí)例代碼。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10
jquery 模擬雅虎首頁(yè)的點(diǎn)擊對(duì)話框效果
jquery模擬雅虎首頁(yè)的點(diǎn)擊對(duì)話框效果實(shí)現(xiàn)代碼,喜歡的朋友可以參考下。2010-04-04

