2010-05-04 112 views
0

我有一張表,其中一些相鄰的單元格具有相同的類(someClass)。我想在鼠標懸停其中一個單元格時顯示工具提示。這裏是我是如何實現這一點:jQuery的工具提示問題

/* HTML code */ 

<div id="tooltip"><div> 

/* CSS code */ 

#tooltip { 
    display: none; 
    position: absolute; 
    border: 1px solid #333; 
    background: #f7f5d1; 
    padding: 2px 5px; 
    color: #333; 
    font-size: 20px; 
} 

/* jQuery code */ 

$(".someClass").hover(function(e) { 
         $("#tooltip").html("Shalom") 
             .css("top", (e.pageY - 10) + "px") 
             .css("left", (e.pageX + 20) + "px") 
             .fadeIn("fast");  
         }, 
         function() { 
         $("#tooltip").html("").hide(); 
         }); 

$(".someClass").mousemove(function(e) { 
          $("#tooltip").css("top", (e.pageY - 10) + "px") 
              .css("left", (e.pageX + 20) + "px"); 
          }); 

當鼠標離開一個小區並進入相鄰的單元格,工具提示消失,再次出現,這並不看起來不錯,但問題是。

我該如何防止工具提示消失並再次出現?

謝謝!

回答

0

未經測試的代碼剪斷,需要一個工具提示通過#tooltip_id

var some_object = { 
    about_to_be_closed: false, 
    close_unless_needed: function() { 
     if (some_object.about_to_be_closed) { 
      $(some_object.about_to_be_closed).fadeOut(); 
     } 
    } 
}; 


// code to be executed on close 
some_object.about_to_be_closed = tooltip_id; 
window.setTimeout(close_unless_needed, 100) 


// code to be executed on open 
if (some_object.about_to_be_closed == tooltip_id) { 
    some_object.about_to_be_closed = false; 
} 

來識別它是不是一個真正的可靠的解決方案,但我它可以工作。

+0

感謝您的想法! – 2010-05-05 06:50:13