如何使用jQuery来显示HTML元素

How do I use jQuery to display an HTML element?

本文关键字:HTML 元素 显示 何使用 jQuery      更新时间:2024-04-13

我这里有一些代码,当您将鼠标悬停在另一个元素上时,应该将1个元素上的display: none更改为display: block

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已经存在(但您看不到它,因为它在CSS中被设置为display: none,但当您将鼠标悬停在li上时,它不会显示。谢谢!

我支持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>