码迷,mamicode.com
首页 > Web开发 > 详细

自己定义html中a标签的title提示tooltip

时间:2016-02-02 22:25:26      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:

自己定义html中a标签的title提示tooltip

简单介绍


用简单的jquery+CSS创建自己定义的a标签title提示。用来取代浏览器默认行为。如图:

技术分享


Javascript代码


$(function() {
    $("a[title]").each(function() {
        var a = $(this);
        var title = a.attr('title');
        if (title == undefined || title == "") return;
        a.data('title', title)
            .removeAttr('title')
            .hover(
                function () {
                    var offset = a.offset();
                    var aWidth = a.outerWidth();
                    var aHeight = a.outerHeight();
                    var left = offset.left + a.outerWidth() + 1;
                    var top = offset.top + aHeight + 10;
                    var maxTop = $(document).outerHeight() + $(document).scrollTop()-54;
                    top = top > maxTop ?

maxTop : top; if (left > window.innerWidth - aWidth) { left = offset.left + (aWidth > 200 ?

aWidth / 2 : 0); } $("<div id=\"anchortitlecontainer\"></div>").appendTo($("body")).html(title).css({top:top,left:left}).fadeIn(function () { var pop = $(this); setTimeout(function () { pop.remove(); }, pop.text().length*80); }); }, function() { $("#anchortitlecontainer").remove(); } ); }); });


(最后更新2014/5/27)

别忘记引用JQuery。

代码中setTimeout(function () { pop.remove(); }, pop.text().length*80);是依据title长度计算提示时间,用来防止太短的title提示过长或太长的title提示过短。

CSS代码


#anchortitlecontainer {
    position: absolute;
    z-index: 5999;
    border: solid 1px #315B6C;
    padding: 5px;
    color: #315B6C;
    background: none repeat scroll 0 0 #FFFFFF;
    border-radius: 5px;
    display: none;
}
#anchortitlecontainer:before {
    position: absolute;
    bottom: auto;
    left: -1px;
    top: -15px;
    border-color: transparent transparent transparent #315B6C;
    border-style: solid;
    border-width: 15px;
    content: "";
    display: block;
    width: 0;
}
#anchortitlecontainer:after {
    position: absolute;
    bottom: auto;
    left: 0px;
    top: -13px;
    border-color: transparent transparent transparent #FFFFFF;
    border-style: solid;
    border-width: 15px;
    content: "";
    display: block;
    width: 0;
}


使用一些CSS3的特性,回避使用图片。


不是CSS高手,调出这个样式着实花了一些时间,假设有人能用上,那就是我的荣幸了。:)



自己定义html中a标签的title提示tooltip

标签:

原文地址:http://www.cnblogs.com/gcczhongduan/p/5178598.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!