So erstellen Sie eine floating-div mit jQuery

Wenn sich die Maus über Einem element einer bestimmten Klasse , einem anderen schwimmenden div B, die einen link enthält, sollte angezeigt werden. B sollte verschwinden, sobald die Maus hat Links A und B.

Wie kann ich das mit jQuery?
jsFiddle

var container = $('#container');
var area = $('.area'); //this is A
var position = area.offset();

var floating = $("<div />", {
        css : { "position"  :   "absolute",
                "top"       :   position.top - 30,
                "left"      :   position.left + 20,
                "border"    :   "1px solid #000",
                "padding"   :   "5px",
                "display"   :   "none",
                "z-index"   :   "100",
                "background-color"  :   "#F00"
        }
    })
        .text('Hello World'); //this is B

    container.css('position', 'relative');
    container.append(floating);

    function show() {
        floating.show();
    }

    function hide() {
        floating.hide();
    }

    area.on('mouseenter', show);
    area.on('mouseleave', hide);
    floating.on('mouseenter', function(event) {
        console.log("floating: mouseenter");
        area.off('mouseenter', show);
        area.off('mouseleave', hide);
    });
    floating.on('mouseleave', function(event) {
        console.log("floating: mouseleave");
        area.on('mouseenter', show);
        area.on('mouseleave', hide);
    });

Mein problem ist, dass evertime die Maus betritt, B, B, verschwindet schon. Muss ich das mit jQuery nicht nur CSS.

InformationsquelleAutor Explicat | 2014-03-12
Schreibe einen Kommentar