jquery将内容锚定到某一点

时间:2011-04-01 09:19:16

标签: javascript jquery html css dom-manipulation

我的网站上有一个链接列表,当用户点击其中一个然后我显示一个带有一些进一步选项的工具包时,链接显示为90x60图像,我想要显示的工具提示自我锚定在点击的链接/图像的左上角如何实现这一点,下面是我目前的实现。

$('#wrapper #content ul li a').click(function(e) {
    e.preventDefault();
    $('#tooltip').remove();
    var url = $(this).attr('href');
    $.ajax({
        type: "POST",
        url: url,
        data: "",
          success: function(html){
           var popup = html;
           $('#content').append(popup);
           $('#tooltip').css({
             position: "absolute",
             top: e.pageY - 200,
             left: e.pageX - 10
           });
          }
    });
});

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

已经有jquery插件:http://bassistance.de/jquery-plugins/jquery-plugin-tooltip/

还有更多http://visionwidget.com/inspiration/web/495-jquery-tooltip-plugins.html

或者你可以写一些简单的jQ脚本:

(HTML)

<div class="tooltipped box"></div>
<div class="tooltipped box"></div>

(JS)

$(document).ready(function() {
    $('.tooltipped').click(function(){
        $('#tooltip').remove();
        $('body').append('<div id="tooltip" class="tooltip">This is tooltip</div>');
        var p = $(this).position();
        $('#tooltip').css({top: p.top, left: p.left+$(this).width()});
    });
});

(CSS)

.box { border: 1px solid green; width: 90px; height: 60px; }
.tooltip { border: 1px solid red; width: 50px; height: 50px; position: absolute; }

答案 1 :(得分:0)

使用qTip。

   $(document).ready(function() {


           $("#qtip").qtip({
            content: 'ToolTip',
            style: {
                name: 'red'
            },
            show: 'mousedown',
            hide: 'mouseout',
            position: {
                target: 'mouse',
                adjust: {
                    mouse: true,
                    x: -180,
                    y: -30,
                }
            }
        });


});

更新:这是我的JsFiddle