如何在鼠标悬停时在图像上的特定区域标签上显示div?

时间:2012-11-22 14:05:39

标签: javascript jquery html css image

我有一些javascript可以连续移动图像。当您将鼠标悬停在图像上时,我希望滚动停止,并且我想要一个稍微透明的div,其中一些自定义文本显示在鼠标所在的任何区域标记上。

这是我正在使用的JS,我评论了应该发生的事情。我该怎么做?

$(document).ready(function() {
                var date = new Date();
                var style = "day"
                if (date.getHours() >= 17 && date.getHours() <=5) {
                    style="night";
                }
                setInterval(wells_fancy_slider, 50);
                $('area').hover(function() {
                                    // here is where the code should go
                    paused = true;
                }, function() {
                                    // here is where you hide the div
                    paused = false;
                })
            })

            function wells_fancy_slider() {
                if (!paused) {
                    if (parseInt($('#pic1').css('left')) < -2770) {
                        $('#pic1').css('left', '5586');
                    }
                    if (parseInt($('#pic2').css('left')) < -2770) {
                        $('#pic2').css('left', '5586');
                    }
                    if (parseInt($('#pic3').css('left')) < -2770) {
                        $('#pic3').css('left', '5586');
                    }
                    $('#pic1, #pic2, #pic3').css('left', '-=5');
                }
            }

2 个答案:

答案 0 :(得分:3)

不确定它是否符合您的需求:

<强> CSS:

#mydiv{position:absolute;display:none}

    $('area').hover(function() {                

   $('mydiv').offset({ top: $(this).offset().top, left: $(this).offset().left}).fadeIn();
                paused = true;
            }, function() {
                   $('#mydiv').hide();
                paused = false;
            })

答案 1 :(得分:3)

试试这个..

t = setInterval(wells_fancy_slider, 50);

$('#area').hover(function(e) {
    clearInterval(t);
    var parentOffset = $(this).offset(); // or $(this).parent().offset();
    var x = e.pageX - parentOffset.left;
    var y = e.pageY - parentOffset.top;

    paused = true;
}, function() {
    clearInterval(t);
    t = setInterval(wells_fancy_slider, 50);
    paused = false;
});