2011-08-25 56 views
1

我在使用jQuery工具提示時遇到問題。工具提示顯示出來,但是它位於「a」標籤html元素的頂部,當工具提示本身被徘徊時,它會閃爍(工具提示是圖像並顯示在標籤區域內)。打開其他實施建議,但我不想使用插件。jquery工具提示在懸停上閃爍

任何幫助表示讚賞!

的JS:

$("#myContainer li a").hover(
     function() 
     { 
      var tip = $(this).attr("title"); 
      $(this).attr("title", ""); 
      $(this).before("<div id='tooltip'>" + tip + "</a>"); 
      $("#tooltip").fadeIn("slow"); 
     }, 
     function() 
     { 
      $(this).attr("title", $("#tooltip").html()); 
      $("#myContainer li").children("div#tooltip").remove(); 
     } 
    ); 

的HTML:

<div id="myContainer"> 
    <li> 
     <a href="mylink.html" title="get started">Hello</a> 
    </li> 
    <li> 
     <a href="myotherlink.html" title="get started">Hello Again!</a> 
    </li> 
</div> 

的CSS:

#myContainer li 
{ 
    background-color:#ffffff; 
    float: left; 
    list-style:none; 
    margin: 12px 0; 
    padding: 0;  
    width: 240px; 
    overflow:hidden; 
} 
#myContainer li a 
{ 
    width:100%; 
    height:100%; 
    display:block; 
    border:1px solid blue; 
} 
#tooltip 
{ 
    background-image:url(tooltip_background.png); 
    background-repeat:no-repeat; 
    background-position:52% center; 
    display:block; 
    position:absolute; 
    z-index:9999; 
    height:99px; 
    width:240px; 
    padding:0; 
    margin:-40px 0 0; 
    text-indent:-9999px; 
} 

的問題是,工具提示顯示出來(有顯示)之上的一個元素,所以當你瀏覽工具提示本身時,它會閃爍。

回答

1

你有很多CSS錯誤,這就是爲什麼它不起作用。你的JS工作正常。 甲絕對元素總是相對於相對定位在最接近的母體:

http://jsfiddle.net/sXSHp/

此外,建議你給至少一個頂部和左位置,以絕對定位的元素,爲了避免不必要的結果。

,但你可以只用CSS這樣做: http://jsfiddle.net/sXSHp/1/

+0

謝謝,固定了我的CSS(確保包含div設置了相對定位解決了這一問題。 – IntricatePixels