[js开源组件开发]tip提示组件

tip提示组件

常见的应用场景中,总是难免会遇到提示信息,比如显示不完全时需要鼠标移上去显示title,比如验证时的错误提示,比如操作按钮的辅助说明等,所以我独立出来了一个小的js组件,tip提示组件。效果如下图所示:

大概就是这样了,不复杂的东西,也很实用。

它的DEMO实例请点击这里http://lovewebgames.com/jsmodule/tip.html

它的源码托管在github 请点击这里https://github.com/tianxiangbing/tip

<table style="width:100%;"><tr>
            <td>
                <input type="button" value="右边hover" id="btn-tip-right">
            </td>
            <td>
                <input type="button" value="左边click" id="btn-tip-left">
            </td>
            <td>
                <input type="button" value="上边click" id="btn-tip-top">
            </td>
            <td>
                <input type="button" value="下边click" id="btn-tip-bottom">
            </td>
            <td align="right">
                <input type="button" value="按边界click自动" id="btn-tip-auto">
            </td>
        </tr></table>
        文本提示:<input type="text" id="txt-tip" msg="请输入内容">
        <script type="text/javascript" src="../src/jquery-1.11.2.js"></script>
        <script type="text/javascript" src="../src/tip.js"></script>
        <script>
        var tip = new Tip();
        tip.init({
            trigger: ‘#btn-tip-right‘,
            width:100,
            triggerEvent:‘hover‘,
            content: ‘loading...‘,
            ajax: function() {
                var dtd = $.Deferred(); // 新建一个deferred对象
                var wait = function(dtd) {
                    var tasks = function() {
                        console.log("执行完毕!");
                        dtd.resolve("这是提示信息啊这是提示信息啊这是提示信息啊这是提示信息啊这是提示信息啊这是提示信息啊"); // 改变deferred对象的执行状态
                    };
                    setTimeout(tasks, 1000);
                    return dtd;
                };
                wait(dtd);
                return dtd;
            }
        });
        var tip_left= new Tip();
        tip_left.init({
            trigger:‘#btn-tip-left‘,
            triggerEvent:‘click‘,
            content: ‘这是提示信息啊‘,
            position:‘left‘
            });
        var tip_top= new Tip();
        tip_top.init({
            trigger:‘#btn-tip-top‘,
            triggerEvent:‘click‘,
            content: ‘这是提示信息啊‘,
            position:‘top‘
            });
        var tip_bottom= new Tip();
        tip_bottom.init({
            trigger:‘#btn-tip-bottom‘,
            triggerEvent:‘click‘,
            content: ‘这是提示信息啊‘,
            position:‘bottom‘
            });
        var tip_auto= new Tip();
        tip_auto.init({
            trigger:‘#btn-tip-auto‘,
            triggerEvent:‘click‘,
            width:100,
            content: ‘这是提示信息啊这是提示信息啊这是提示信息啊‘,
            inViewport:true
            });
        var t = $(‘#txt-tip‘).Tip({
            content:$(‘#txt-tip‘).attr(‘msg‘),
            triggerEvent:‘focus‘
        })[0];
        </script>
    

API

属性

trigger:[$|dom|string]

触发元素,jquery对象或dom或string

triggerEvent: [click|hover|focus]

触发事件,默认为hover,事件都委托在delegate参数上,focus不委托

delegate:[dom|string]

事件的委托节点,默认委托到body,focus无效.

tpl:[string]

html模板,默认<div class="ui-tip"><div class="ui-tip-content"></div><div class="ui-tip-arrow"><i></i><em></em></div></div>

offset:{x:0,y:0}

偏移量,默认x:0,y:0

width:[number]

  

height:[number]

  

zIndex:999

z-index

  

content:[string|$]

提示内容,这里可以是string或节点,因为内部是调用的$().html方法,动态设置请调setContent方法

  

inViewport:bool

是否自适合窗口位置,默认false

position:[‘right‘|‘left‘|‘top‘|‘bottom‘]

显示位置,默认‘right

ajax:function

返回一个promise,参数为promise之后的内容如下:
        ajax: function() {
            var dtd = $.Deferred(); // 新建一个deferred对象
            var wait = function(dtd) {
                var tasks = function() {
                    console.log("执行完毕!");
                    dtd.resolve("这是提示信息啊"); // 改变deferred对象的执行状态
                };
                setTimeout(tasks, 1000);
                return dtd;
            };
            wait(dtd);
            return dtd;
        }
    

方法

setContent:function(content)

设置提示内容

stop:function()

停止显示

start:function

开始显示

事件或回调

callback:function

显示时的回调
时间: 2024-08-03 07:26:36

[js开源组件开发]tip提示组件的相关文章

[js开源组件开发]table表格组件

table表格组件 表格的渲染组件,demo请点击http://lovewebgames.com/jsmodule/table.html,git源码请点击https://github.com/tianxiangbing/table 如上图所示,功能基本包括常用表格中遇到的分页.搜索.删除.AJAX操作.由于是用的HANDLEBARS渲染的,所以样式可能很好的控制,要加新的功能也较容易. 调用例子 html <div class="form"> 名称: <input t

[js开源组件开发]ajax分页组件

ajax分页组件 我以平均每一周出一个开源的js组件为目标行动着,虽然每个组件并不是很庞大,它只完成某一个较小部分的工作,但相信,只要有付出,总会得到回报的.这个组件主要完成分页的工作. 这张图里显示的是这个分页控件的两种基本形态,样式可以自己定制,包括文案内容. 这个分页控件的demo演示地址是: http://www.lovewebgames.com/jsmodule/paging.html 同时,它还是开源的,它的git 地址是:https://github.com/tianxiangbi

[js开源组件开发]query组件,获取url参数和form表单json格式

query组件,获取url参数和form表单json格式 距离上次的组件[js开源组件开发]ajax分页组件一转眼过去了近二十天,或许我一周一组件的承诺有了质疑声,但其实我一直在做,只是没人看到……,最近项目紧,几个小组,只有我一个前端,公司对前端的定位不清晰,导致前端人员过少的情况.所以还得促进公司前端人员增长,不然再这么玩下去,我要被玩死了,一个公司,不可能靠一个资深前端来支撑二三十个开发的需求,这是不现实的,特别是现在的页面不再是复制粘贴的前况下.我默默耕芸,所以这次我整理了这一个月里所有

[js开源组件开发]数字或金额千分位格式化组件

数字或金额千分位格式化组件 这次距离上一个组件<[js开源组件开发]table表格组件>时隔了一个月,由于最近的项目比较坑,刚挖完坑,所以来总结性提出来几个组件弥补这次的空缺,首先是金额和数字的千分位和小数点控制的组件,它的作用主要是在输入框时限制输入的内容为数字.也可以用于普通标签的数字格式化,效果如下图: demo演示地址请点击 http://www.lovewebgames.com/jsmodule/format-number.html 源码github托管地址请点击https://gi

[js开源组件开发]network异步请求ajax的扩展

network异步请求ajax的扩展 在日常的应用中,你可能直接调用$.ajax是会有些问题的,比如说用户的重复点击,比如说我只希望它成功提交一次后就不能再提交,比如说我希望有个正在提交的loading效果.所以我做network这个组件来扩展$.ajax,希望全中国的人民们喜欢. 这里使用到了上篇[js开源组件开发]loading加载效果 一个loading效果,但为了让它独立运行,所以没有进行引用,而是直接做了一个loading方法在里面.它的具体效果图如下: 它的实例DEMO地址请点击这里

[js开源组件开发]localStorage-cache本地存储的缓存管理

localStorage-cache本地存储的缓存管理 距离上次的组件开发有近三个月的时间了,最近一直在做一些杂事,无法静下心来写写代码,也是在学习emberjs,在emberjs中有一个很重要的东西 -- localstorage_adapter,本地存储适配器,利用它可以很方便的把数据保存在本地的localStorage中,但我今天要讲的,并不是ember,也不是适配器,我是个比较念旧的人,所以我对cookie很情有独钟,当然,cookie也会有各种问题,于是我就来改造下localStora

js组件开发-移动端地区选择控件mobile-select-area

移动端地区选择控件mobile-select-area 由于之前的[js开源组件开发]js手机联动选择地区仿ios 开源git 很受欢迎,于是我又对其进行了一些优化,包括可选的范围变大了,添加了默认空首地址的功能,也添加了更多api参数,首先我们先来看下这次的效果图. 它的github地址请点击https://github.com/tianxiangbing/mobile-select-area 它的demo演示请点击 http://www.lovewebgames.com/jsmodule/m

使用Jayrock开源组件开发基于JSON-RPC协议的接口

最近接手一个以前的项目,无意间发现此项目开发接口的组件:Jayrock(接口组件估计用的少,用的最多的估计是这个Jayrock.json.dll,用于解析json) 以下是Jayrock的介绍官网: https://atifaziz.github.io/projects/jayrock/ 如果你在开发上使用了该组件,上面的官网会是一个不错的入门教程. 在研究的过程中,发现Jayrock有以下的特定,主要从开发角度方向进行分析. 优点如下: 1.接口开发和部署简单,直接继承组件的JsonRpcHa

Vue.js的复用组件开发流程

本文由蔡述雄发表 接下来我们会详细分析下如何完成由多个组件组成一个复用组件的开发流程. 下面先看看我们的需求 列表组件quiList.vue 本节我们主要要完成这样一个列表功能,每一行的列表是一个组件,列表内可能出现按钮组件或者箭头组件,点击按钮组件可以自定义事件,同时可以根据不同的参数来决定当前列表是带按钮的列表or带箭头的列表. 首先看看quiList.vue //quiList.vue <template> <div class="qui-list"> &