跟随鼠标的Jquery工具提示

时间:2011-01-03 07:04:25

标签: jquery html jquery-plugins

我想在鼠标悬停在div上时,只需要一个跟随鼠标的工具提示。我想用这个:

http://flowplayer.org/tools/tooltip/

我有它工作,但是当鼠标指针移动时我无法获得工具提示实际跟随鼠标。我知道这听起来像愚蠢的问题,但他们的网站没有任何这个功能的演示,所以我想知道它是否支持。有谁知道如何使这项工作?感谢您的投入和时间!

5 个答案:

答案 0 :(得分:9)

我在他们的网站上找到了this

我会自己做...只是为了帮助你:

<style>
    .item {
        position: relative;
        width: 100px;
        height: 40px;
        top: 200px;
        left: 400px;
        background: #CCC;
    }

    .item .tooltip {
        position: fixed; /** depends on how it handles the e.pageX and e.pageY **/
        width: 80px;
        height: 30px;
        background: #06F;
        z-index: 10;
        display: none; /**let the tooltip be not visable, when startup **/
    }
</style>

<script type="text/javascript">
    $(document).ready(function() {
       $(".item").mousemove(function(e) { 
            // put other effects in when moving over the element
            // from e you can get the pageX(left position) and pageY(top position) 
            // im not sure if it was the relative or the absolute position
            // i added 10 pxs on the top and left to show the tooltip a bit after
            $('.tooltip').css('left', e.pageX + 10)
                .css('top', e.pageY + 10)
                .css('display', 'block');

            // or in a simpler way:
            $('.tooltip').css({
                left: e.pageX + 10,
                top: e.pageY + 10
            }).css('display', 'block');
        });

        $(".item").mouseout(function() { 
            $('.tooltip').css('display', 'none');
        });
    });
</script>

<div class="item">
    <p>This is my item</p>
    <div class="tooltip">Tooltip</div>
</div>

如果我是你自己制作工具提示,但这取决于你想要的东西。

更新

3年后...... 当然,现在您应该添加debouncethrottle

答案 1 :(得分:5)

w.r.t。 http://flowplayer.org/tools/demos/tooltip/dynamic.htm,试试

// initialize tooltip
$("#dyna img[title]").tooltip({

   // tweak the position
   offset: [10, 2],

   // use the "slide" effect
   effect: 'slide'

// add dynamic plugin with optional configuration for bottom edge
}).dynamic({ bottom: { direction: 'down', bounce: true } })

// Additional code : BEGIN
.mousemove(function(evt) {$(".tooltip").css({
    left:(evt.pageX - $.tools.tooltip.conf.offset[1]),
    top:(evt.pageY - $.tools.tooltip.conf.offset[0])
});})
// Additional code : END

;

请自行调整定位。 :)

答案 2 :(得分:3)

使用他们网站上的示例,您可以将其转为

<script>
$("#demo img[title]").tooltip();
</script>

进入这个

<script>
$("#demo img[title]").tooltip();
$(".tooltip").css('position','absolute');
$("#demo").mousemove(function(e) {
    var x_offset = -100;
    var y_offset = -130;
    $('.tooltip').css('left', e.pageX + x_offset).css('top', e.pageY + y_offset);
});
</script>

这使用jQuery mousemove eventmouse positioning information。工具提示的CSS position设置为absolute,因此它会正确地跟随鼠标。

答案 3 :(得分:2)

我写了一个名为TrackStar的插件,就是这样做的。

http://plugins.jquery.com/project/TrackStar

答案 4 :(得分:2)

将选项曲目设置为 true

$( ".selector" ).tooltip({ track: true });

JQuery API, tooltip widget