0

サムネイル src 属性がメイン画像ウィンドウの画像を置き換えることを可能にする次のコードがあります。

        $(document).ready(function(){   
            var originalimg = $('#imageMain img').attr('src');
                $(".subImage").hover(function(){
                        var currentimg = $(this).attr('src');
                    $('.mainImage').fadeOut(function () {
                    $('.mainImage').attr('src', currentimg).fadeIn();
                        });
                    },function(){
                            $('.mainImage').fadeOut(function() {
                                $('.mainImage').attr('src', originalimg).fadeIn();
                            })
                            });
            });

現在、ビヘイビアーは次のように動作します: 1. ホバー オーバー - メイン イメージが白にフェードしてから、サブ イメージにフェードインします。2. マウス アウト - メイン イメージが白くなり、元のイメージに置き換えられます。

2 つの画像状態の間の「白」トランジションの代わりに本当に必要なのは、それらを一種のオーバーラップさせたい (そのため、一方がフェードインすると他方がフェードアウトする) -

これは可能ですか?

ありがとう

4

1 に答える 1

0

フェードアウト/フェードインを使用して画像を順番に回転させることはできません。別の方法でトランジションを行う必要があります。コード全体を書いておきます。

    <head>
    <title>jQuery Image Rotator</title>
   <script type="text/javascript" src="jquery-1.3.2.js"></script>
    <script type="text/javascript">
      $("#photoshow").hover(function() {
        setInterval("rotateImages()", 2000); // set the interval time as your wish
    });

    function rotateImages() {
        var oCurPhoto = $('#photoShow div.current');
        var oNxtPhoto = oCurPhoto.next();
        if (oNxtPhoto.length == 0)
            oNxtPhoto = $('#photoShow div:first');

        oCurPhoto.removeClass('current').addClass('previous');
        oNxtPhoto.css({ opacity: 0.0 }).addClass('current').animate({ opacity: 1.0 }, 1000,
            function() {
                oCurPhoto.removeClass('previous');
            });
    }
</script>
       <style type="text/css">
         #photoShow {
        height:400px;
         width:400px;
         }
      #photoShow div {
        position:absolute;
        z-index: 0;
         }
      #photoShow div.previous {
        z-index: 1;
         }
         #photoShow div.current {
          z-index: 2;
           }
</style>
    </head>
  <body>
    <div id="photoShow">
       <div class="current">
        <img src="images/Grass.jpg" alt="Photo Gallery" width="400" height="400" class="gallery" />
    </div>
    <div>
        <img src="images/Leaf.jpg" alt="Photo Gallery" width="400" height="400" class="gallery" />
    </div>
    <div>
        <img src="images/Spring.jpg" alt="Photo Gallery" width="400" height="400" class="gallery" />
    </div>
    <div>
        <img src="images/Water.jpg" alt="Photo Gallery" width="400" height="400" class="gallery" />
    </div>
     </div>
   </body>
    </html>

画像を 1 つずつ遷移させます。適切なクラス、ID 名、画像 URL に置き換えます。お役に立てば幸いです。

于 2012-05-22T13:52:14.443 に答える