3

我这里有一些代码,当您将鼠标悬停在另一个元素上时,它们应该会更改display: nonedisplay: block1 个元素。

HTML:

<li onmouseover="popup('Ipsum');">Lorem</li>

Javascript:

$(document).ready(function(){
    $("body").append('<div id="pup"></div>'); // Appends a popup div to the page
    $(document).mousemove(function(e){
        var x,y;                                   // This sets the mouse
                                                   // coordinates into 2
        x = $(document).scrollLeft() + e.clientX;  // variables in order to
        y = $(document).scrollTop() + e.clientY;   // display the tooltip
    });                                            // relative to mouse postition

    function popup(text)
    {
        $('#pup').html(text);  // This is supposed to enter text into the tooltip
        $('#pup').show();      // div and change it from display: none to
                               // display: block
    }

目前,该 div 存在(但是您看不到它,因为它display: none在 CSS 中设置为,但是当您将鼠标悬停在 li 上时它不会显示。谢谢!

4

1 回答 1

1

我赞同 Russ C 的评论。将弹出窗口移出 $(document).ready,但不是作为全局函数。将其分配为匿名函数,并将 jQuery 作为参数。

不知道您需要鼠标事件方面的帮助。这个出现在鼠标下方。“title”属性只能保存纯文本,所以如果你想要一些不太健壮的东西,那就去吧。

试试这个

    $(document).ready(function(){
        var loremHTML = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. <a href=''>Vivamus non elit risus</a>, a dignissim ligula."
        $("#lorem").hover(function() {$.popup(loremHTML)},function() {$("#pup").hide().remove()});
        $(document).mousemove(function(ev) {
            $.mousePos = {      //Assign mousePos to the jQuery object
                x: ev.pageX,    //x coordinate
                y: ev.pageY     //y coordinate
            };
        });
     });   

     (function($) {
        $.popup = $.fn.popup = function(text) {
            $("body").append('<div id="pup"></div>');
            $('#pup').show().css({
                "position":"absolute",
                "left":$.mousePos.x,
                "top":$.mousePos.y})
                .html(text);
        }
     })(jQuery);

CSS

        #pup {
            background:#ddd;
            padding:5px;
            width:20%;
        }

HTML

<span id="lorem">Lorem</span>
于 2012-07-30T00:53:45.703 回答