首页 > Javascript > 自己改写的基于 JQuery 的 Tip 提示框

自己改写的基于 JQuery 的 Tip 提示框

2009年10月28日 发表评论 阅读评论

使用方法很简单,将下面的 JS 脚本与 JQuery 一同载入,在需要做 Tip 效果的链接上添加一个 tips 属性,属性值就是 Tip 框里要显示的内容。

比如:<a href=”javascript:void(0)” tips=”这个是提示内容!” />测试提示</a>

想要美化 Tip 框的话完全可以在 tips 属性里加入用来修饰的 html 标签,然后在 CSS 文件里针对 #tip 以及其子元素定义 CSS 就可以了。

比如:<a href=”javascript:void(0)” tips=”<h3>提示标题</h3><div class=’content’>这个是提示内容!</div>” />测试提示</a>

<script type=”text/javascript”>
    $().ready(function(){
        $(‘body’).append(‘<div id=”tip”></div>’);
        $(‘#tip’).css({display:’none’,left:’0′,top:’0′,position:’absolute’});
        $(‘a[tips]’).hover(
            function(e){
                var mouse = $.mousePos(e);
                
                if(mouse.x > $(‘body’).width() – $(‘#tip’).width()){
                    $(‘#tip’).css(‘left’, $(‘body’).width() + $(document).scrollLeft() – $(‘#tip’).width() – 10 + ‘px’);
                }else{
                    $(‘#tip’).css(‘left’, mouse.x + 10 + ‘px’);
                }
            
                $(‘#tip’).css(‘top’, mouse.y + 10 + ‘px’);
                $(‘#tip’).html($(this).attr(‘tips’));
                $(‘#tip’).show();
            },
            
            function(){
                $(‘#tip’).hide();
            }
        );
    });

    $.extend({
        mousePos:function(e){
            var x,y;
            var e = e||window.event;
            return{
                x:e.clientX + $(‘body’).scrollLeft() + $(document).scrollLeft(),
                y:e.clientY + $(‘body’).scrollTop() + $(document).scrollTop()
            };
        }
    });
</script>

分类: Javascript 标签:
  1. 筱筠
    2009年11月10日14:48 | #1

    谢谢提供,很好用的。

  2. ddl0762
    2012年12月9日16:59 | #2

    好利害,但离开链接 显示的马上就不见了,无法选中提示层 求解决办法

    • 2013年3月20日10:31 | #3

      这个只是纯粹用于替换系统Tip用的。如果你想在Tip里还能有链接可点击,那你先要用 setTimeout 来延缓提示层消失,然后再设置当鼠标移动到提示层时,取消掉消失逻辑。

  1. 本文目前尚无任何 trackbacks 和 pingbacks.