Kategorien
Diplomarbeit

jQuery, Tooltip, show() und hide()

Nunja, endlich hab ich das Problem gelöst das ich hatte. Schön wenn man auf Banalitäten hingewiesen werden muss …

var _PendingHideLink;
var _PendingHideDiv;
$("#someDivId").hover(function() {
    if (_PendingHideLink) {
        clearTimeout(_PendingHideLink);
    }
    if (_PendingHideDiv) {
        clearTimeout(_PendingHideDiv);
    }
}, function() {
    _PendingHideDiv = setTimeout(function() {
        $("#someDivId").hide();
    }, 2000);
});
$(".someLinks").hover(function(e) {
    $("#someDivId").show();
}, function() {
    _PendingHideLink = setTimeout(function() {
                $("#someDivId").hide();
            }, 5000);
});

Das macht: Beim positionieren des Mauszeigers übern einen Link („mouseover“) mit der Klasse „someLinks“ wird das div mit der Id „someDivId“ eingeblendet und nach 5 Sekunden wieder ausgeblendet. AUSSER man geht auf das eingeblendete div, dann bleibts offen, solange bis man das div wieder verlässt („mouseout“). Dazu sollte man noch wissen das jQuery „hover“ als Kombination versteht ($().hover == ($().mouseover; $().mouseout;)). Nunja, UND man sollte wissen das setTimeout eine Id zurückliefert die man mit „clearTimeout“ wiederverwenden kann