知问前端——工具提示UI

   工具提示(tooltip),是一个非常实用的UI。它彻底扩展了HTML中的title属性,让提示更加丰富,更加可控制,全面提升了用户体验。

   调用tooltip()方法

   在调用tooltip()方法之前,首先需要针对元素设置相应title属性。如:

<input type="text" name="user" class="text" id="user" title="请输入帐号, 不小于2位! " />
$('#user').tooltip();

   修改tooltip()样式

   在弹出的tooltip提示框后,在火狐浏览器中打开Firebug或者右击->查看元素。这样,我们可以看看tooltip的样式,根据样式进行修改。

   无须修改ui里的CSS,直接用style.css替代掉:

/* 工具提示的文本颜色 */
.ui-tooltip {
    color: #666;
}

   tooltip()方法的属性

   对话框方法有两种形式:

   1.tooltip(options),options是以对象键值对的形式传参,每个键值对表示一个选项

   2.tooltip('action', param),action是操作对话框方法的字符串,param则是options的某个选项。

   tooltip外观选项

属性 默认值/类型 说明
disabled false/布尔值 设置为true,将禁止显示工具提示
content 无/字符串 设置title内容
items 无/字符串 设置选择器以限定范围
tooltipClass 无/字符串 引入class形式的CSS样式

   index.html:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>知问前端</title>
    <script type="text/javascript" src="jquery-1.12.3.js"></script>
    <script type="text/javascript" src="jquery-ui.js"></script>
    <script type="text/javascript" src="index.js"></script>
    <link rel="shortcut icon" type="image/x-icon" href="img/favicon.ico" />
    <link rel="stylesheet" type="text/css" href="jquery-ui.css" />
    <link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
    <div id="header">
        <div class="header_main">
            <h1>知问</h1>
            <div class="header_search">
                <input type="text" name="search" class="search" />
            </div>
            <div class="header_button">
                <button id="search_button">查询</button>
            </div>
            <div class="header_member">
                <a href="###" id="reg_a">注册</a> | <a href="###" id="login_a">登录</a>
            </div>
        </div>
    </div>
    
    <div id="reg" title="会员注册">
        <p>
            <label for="user">账号:</label>
            <input type="text" name="user" class="text" id="user" title="请输入账号,不少于2位!"></input>
            <span class="star">*</span>
        </p>
        <p>
            <label for="pass">密码:</label>
            <input type="password" name="pass" class="text" id="pass" title="请输入密码,不少于6位!"></input>
            <span class="star">*</span>
        </p>
        <p>
            <label for="email">邮箱:</label>
            <input type="text" name="email" class="text" id="email" title="请输入正确的邮箱!"></input>
            <span class="star">*</span>
        </p>
        <p>
            <label>性别:</label>
            <input type="radio" name="sex" id="male" value="male" checked="checked"><label for="male"></label></input>
            <input type="radio" name="sex" id="female" value="female"><label for="female"></label></input>
        </p>
        <p>
            <label for="date">生日:</label>
            <input type="text" name="date" readonly="readonly" class="text" id="date"></input>
        </p>
    </div>
</body>
</html>

   jQuery代码:

$("[title]").tooltip({
    disabled:true, //禁止显示工具提示
    content:"改变title", //设置title内容
    items:"input", //过滤,设置选择器以限定范围,我觉得应该相当于$("input[title]").tooltip();
    tooltipClass:"a"
});

   class=a的样式:

.a {
    color: red;
}

   tooltip页面位置选项

属性 默认值/类型 说明
position 无/对象 使用对象的键值对赋值,有两个属性:my和at表示坐标。my是以目标点左下角为基准,at以my为基准

   详细说明my属性:

    

     

  

     

  

   再来详细说明at属性:

     

    

  

     

  

   还可以这样写:

$("[title]").tooltip({
    position: {
        my:"left center",
        at:"right+10 center"
    }
});

   tooltip视觉选项

属性 默认值/类型 说明
show false/布尔值 显示对话框时,默认采用淡入效果
hide false/布尔值 关闭对话框时,默认采用淡出效果

   jQuery代码:

$("[title]").tooltip({
    show:false,
    hide:false
});

   注意:设置true后,默认为淡入淡出,如果想使用别的特效,可以使用以下表格中的字符串参数。

   show和hide可选特效

特效名称 说明
blind 工具提示从顶部显示或消失
bounce 工具提示断断续续地显示或消失,垂直运动
clip 工具提示从中心垂直地显示或消失
slide 工具提示从左边显示或消失 
drop 工具提示从左边显示或消失,有透明度变化
fold 工具提示从左上角显示或消失
highlight 工具提示显示或消失,伴随着透明度和背景色的变化
puff 工具提示从中心开始缩放。显示时“收缩” ,消失时“生长”
scale 工具提示从中心开始缩放。显示时“生长” ,消失时“收缩”
pulsate 工具提示以闪烁形式显示或消失

   tooltip行为选项

属性 默认值/类型 说明
track false/布尔值 设置为true,能跟随鼠标移动

   jQuery代码:

$("[title]").tooltip({
    track:true//效果不好,一直在抖动
});

   tooltip()方法的事件

   除了属性设置外,tooltip()方法也提供了大量的事件。这些事件可以给各种不同状态时提供回调函数,这些回调函数中的this值等于对话框内容的div对象,不是整个对话框的 div。

   tooltip事件选项

事件名 说明
create 当工具提示被创建时会调用create方法,该方法有两个参数(event, ui)。此事件中的ui参数为空
open 当工具提示被显示时,会调用open方法,该方法有两个参数(event, ui)。此事件中的ui有一个参数tooltip,返回的是工具提示的jQuery对象
close 当工具提示关闭时,会调用close方法。关闭的工具提示可以用tooltip('open')重新打开。该方法有两个参数(event, ui)。此事件中的ui有一个参数tooltip,返回的是工具提示的jQuery对象

   在此只关注open():

$("[title]").tooltip({
    open:function(e,ui) {
      alert("打开时触发!"+ui.tooltip.length);
    }
});

   tooltip('action',param)方法

方法 返回值 说明
tooltip('open') jQuery对象 打开工具提示
tooltip('close') jQuery对象 关闭工具提示
tooltip('disable') jQuery对象 禁用工具提示
tooltip('enable') jQuery对象 启用工具提示
tooltip('destroy') jQuery对象 删除工具提示,直接阻断了tooltip
tooltip('widget') jQuery对象 获取工具提示的jQuery对象
tooltip('option',param) 一般值 获取options属性的值
tooltip('option',param,value) jQuery对象 设置options属性的值

   jQuery代码:

$("#pass").tooltip("open"); //一开始就打开工具提示

   tooltip()中使用on()

   在tooltip的事件中,提供了使用on()方法处理的事件方法。

   on()方法触发的对话框事件

特效名称 说明
tooltipopen 显示时触发
tooltipclose 每一次移动时触发

   jQuery代码:

$("#user").on("tooltipopen",function() {
    alert("打开时触发!");
});

  

原文地址:https://www.cnblogs.com/yerenyuan/p/5447266.html