自訂一個jquery外掛程式[滑鼠懸浮時候 出現說明label]

來源:互聯網
上載者:User

最近在學習jquery,看了幾天,決定做個小東西練練手。入門級的可以看看。

先看下面這個小東西有什麼功能,有模有用。

  功能:當你滑鼠懸浮在你的html元素上面的時候,它會顯示一個help說明性的label。

  :

      原始:

      

      當你的滑鼠懸浮在'單擊我吧1'時:

      

      當你的滑鼠懸浮在'textbox'時:

      

看了,若是有興趣的話,仔細看看代碼吧,代碼有注釋

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 href="http://www.baidu.com" id="d">s單擊我吧1</a><br />
<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);

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.