jquery привязка контента к определенной точке

У меня есть список ссылок на моем веб-сайте, что, когда пользователь нажимает на одну из них, я отображаю всплывающую подсказку с некоторыми дополнительными параметрами, ссылки отображаются в виде изображения размером 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 ответа

Для этого уже есть плагин 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>

(ДС)

$(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; }

Используйте 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

Другие вопросы по тегам