1

ポートフォリオ用のエンターページを作成しようとしました。すべて問題ないように見えますが、jquery コードが正しく機能しません。

画面中央の円にカーソルを合わせると、「音楽」と「Web デザイン」という内容の 2 つのボックスを切り替えます。div.hidden-elements は、Circle 要素内にあります。

円にカーソルを合わせるとフェードインし、円を離れるとフェードアウトします。問題: 新しい「非表示」ボックスの 1 つにカーソルを移動すると、サークル要素を離れたためにフェードアウトしますか?

その問題を解決するのを手伝ってくれませんか? ここに私のコードがあります:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>

<script type="text/javascript">
   $(document).ready(function () {
      console.log('DOM READY');

      $('#me').mouseover(function () {
         $('.hidden').fadeIn(1000);
      });

      $('#me').mouseout(function () {
         $('.hidden').fadeOut(1000);
      });

   });
</script>

HTML:

<!DOCTYPE HTML>    
<html>
   <head>
      <title>DominikBiedebach - Web- und Printdesigner</title>
      <style type="text/css">
         @import url(http://fonts.googleapis.com/css?family=Open+Sans:400,700|Open+Sans+Condensed:300,700);

         html, body { background:  #f4f4f4; color: #202020; }
         div#me{
            background: url(images/me.png) no-repeat;
            height:  256px;
            width: 256px;
            margin: 40px auto 10px auto;
            position: relative;
         }
         div#container{
            width: 960px;
            margin: 0px auto;
            text-align: center; 
         }
         h1 {
            font-size: 100px;
            font-family: 'Open Sans Condensed', Arial, Helvetica, sans-serif;
            margin: 0px;
         }
         h3 {
            font-family: 'Open Sans', Arial, Helvetica, sans-serif;
            font-size: 30px;
            line-height: 26px;
            text-transform: uppercase;
         }

         .hidden { display: none; }
         #music {
            position: absolute;
            left: -200px;
            width: 200px;
            height: 400px;
         }

      </style>
   </head>
   <body>
      <div id="container">
         <div id="me">
            <div class="hidden" id="music">Testbox</div>
            <div class="hidden" id="webdesign">Testbox</div>
         </div>

         <h1>xxxx</h1>
         <h3>xxxx</h3>
      </div>
   </body>
</html>
4

1 に答える 1

1

mouseover/mouseoutメソッドを置き換えるmouseenter/mouseleaveか、使用することができますhover

$('#me').hover(function() {
    $('.hidden', this).fadeToggle(1000);
});
于 2012-10-29T00:17:51.327 に答える