2012-01-18 19 views
0
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
    <head> 
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> 
    <title>Tabs</title> 
    <style type="text/css" media="screen"> 
    <!-- 
     BODY { margin: 10px; padding: 0; font: 1em "Trebuchet MS", verdana, arial, sans-serif; font-size: 100%; } 
     H1 { margin-bottom: 2px; font-family: Garamond, "Times New Roman", Times, Serif;} 
     DIV.container { margin: auto; width: 90%; margin-bottom: 10px;} 
     TEXTAREA { width: 80%;} 
     FIELDSET { border: 1px solid #ccc; padding: 1em; margin: 0; } 
     LEGEND { color: #ccc; font-size: 120%; } 
     INPUT, TEXTAREA { font-family: Arial, verdana; font-size: 125%; padding: 7px; border: 1px solid #999; } 
     LABEL { display: block; margin-top: 10px; } 
     IMG { margin: 5px; } 
      UL.tabNavigation { 
      list-style: none; 
      margin: 0; 
      padding: 0; 
     } 

     UL.tabNavigation LI { 
      display: inline; 
     } 

     UL.tabNavigation LI A { 
      padding: 3px 5px; 
      background-color: #ccc; 
      color: #000; 
      text-decoration: none; 
     } 

     UL.tabNavigation LI A.selected, 
     UL.tabNavigation LI A:hover { 
      background-color: #333; 
      color: #fff; 
      padding-top: 7px; 
     } 

     UL.tabNavigation LI A:focus { 
      outline: 0; 
     } 

     div.tabs > div { 
      padding: 5px; 
      margin-top: 3px; 
      border: 5px solid #333; 
     } 

     div.tabs > div h2 { 
      margin-top: 0; 
     } 

     .content { width:40%;} 
     } 
    --> 
    </style> 

    <script src="jquery152.js" type="text/javascript" charset="utf-8"></script> 
    <script type="text/javascript" charset="utf-8"> 
    $(document).ready(function() 
     { 
      var tabContainers = $('div.tabs > div'); 
      tabContainers.hide(); 

      $('div.tabs ul.tabNavigation a').mouseover(function() 
       { 
        tabContainers.hide(); 
        tabContainers.filter(this.hash).show(); 
        $('div.tabs ul.tabNavigation a').removeClass('selected'); 
        $(this).addClass('selected'); 
        return false; 
       }) 

      $('.content').mouseleave(function() 
       { 
        tabContainers.hide(); 
        $('div.tabs ul.tabNavigation a').removeClass('selected'); 
        return false; 
       }) 

     }); 
    </script> 

</head> 
<body id="page"> 
<BR> 
<HR> 
<BR> 
    <div class="tabs"> 
     <ul class="tabNavigation"> 
      <li><a href="#first">Get Involved</a></li> 
      <li><a href="#second">Services</a></li> 
      <li><a href="#third">Other Stuff</a></li> 
     </ul> 

     <div id="first" class="content"> 
      <h2>First</h2> 
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> 
     </div> 
     <div id="second" class="content"> 

      <h2>Second</h2> 
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> 

     </div> 
     <div id="third" class="content"> 
      <h2>Third</h2> 
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> 
     </div> 
    </div> 
    </body> 

</html> 

上記のコードは特定の状況でうまく動作します。タブは、アンカーをマウスオーバーするときに表示されるように表示されますが、マウスを 'content' divから移動すると、divが右に移動すると、 'content' divのみが非表示になります。jquery - mouseleaveイベント後もタブが表示されますが、特定の方向にのみ表示されます

マウスを上向きに動かすにはどうすればいいですか?

おかげで、

答えて

0

私は、既存のマークアップを使用して、あなたの問題を解決する方法がわからない、しかし、あなたはバグを持っている理由私が知っています。実際に内容がの場合、ウィンドウの上部にマウスを移動するとが消えます。問題は、タブがすぐそこにあるのですぐに再表示されるということです。コンテンツ領域のmouseleaveイベントを監視しているため、その後はタブの上にマウスを重ねても再表示されません。既存のマークアップでは、これを別のエレガントな方法で処理することはできません。あなたのHTMLを再構成して、タブとコンテンツのコンテナが単一の要素になるようにします。代わりにこの要素のmouseleaveイベントを監視します。

ここでこれを試してください。 http://jsfiddle.net/wdeZx/

コンテンツを囲むコンテナをクラスcontainerで作成しました。私は彼らにmouseleaveイベントトラッキングを追加しました。

+0

ありがとうございました。 – user1106252

関連する問題