2

私はこれがたくさんあることを知っていますが、私はそれを機能させることができません:/

    <div class='container'>
        <img src="images/1.jpg" alt="">
        <img src="images/2.jpg" alt="">
    </div>

したがって、以下のCSSを使用してブラウザウィンドウのフルサイズに固定された2つの画像があります。

        <style type="text/css">
        .container {
            position:fixed; 
            top:-50%; 
            left:-50%; 
            width:200%; 
            height:200%;
        }
        .container img {
            position:absolute; 
            top:0; 
            left:0; 
            right:0; 
            bottom:0; 
            margin:auto; 
            min-width:50%;
            min-height:50%;
        }
    </style>

現在、フルサイズで表示される最後の画像 (2) のみが表示されます。ただし、jQuery を使用して最初のものを表示し、X 秒後に番号 1 をフェードアウトし、各画像のフェードをループします。setInterval、次にfadeOut、次にfadeInイメージを使用するのが最善だと思いますが、何をしてもうまくいきません。

私はこの行を下ろうとしていた:

        <script type="text/javascript">
        $(document).ready(function() {

            $('.container').children('img').each(function(i) { 
                $(this).fadeOut();
            }); 

        });
    </script>
4

5 に答える 5

5

これを試すことができます。

$(document).ready(function() {
    var _intervalId;

    function fadeInLastImg()
    {
        var backImg = $('.container img:first');
        backImg.hide();
        $('.container' ).append( backImg );
        backImg.fadeIn()
    };

    _intervalId = setInterval( function() 
    {
        fadeInLastImg();
    }, 1000 );

});​

これがjsFiddle http://jsfiddle.net/KQ3wu/128/です

于 2012-10-23T09:27:04.443 に答える
1

jsBin デモ

Fademe jQueryプラグインを変更してマウスオーバーを削除すると、フルスクリーン画像が使用されます:):

(function($){
    $.fn.fademe = function(F,P,S){
        F=F||700;
        P=P||3000;
        S=S-1||0;       
        var e=this.children(), T;
        function a(){ e.eq(S=++S%e.length).fadeTo(F,1).siblings(e).stop(1).fadeTo(F,0); }
        e.eq(S).show().siblings(e).hide();
        function aa(){T=setTimeout(function(){a();aa();},F+P);}aa();
    };
})(jQuery);



// USE PLUGIN:
$(function(){    
  $('.container').fademe();  
});
于 2012-10-23T09:15:37.823 に答える
0

プラグインjquery-timingを使用すると、ワンライナーになります。

$.repeat(1000).$('#container img:first').hide().appendTo('#container').fadeIn();

フィドルとして参照してください:http://jsfiddle.net/creativecouple/zjUEs/

于 2012-10-24T08:00:49.537 に答える
0

このコードを試してください:

<script type="text/javascript">
        $(document).ready(function() {
            var intervalId = setInterval(function() {
              $('.container').find('img').each(function(i) { 
                $(this).fadeOut();
              }); 
            $(this).data('intervalId', intervalId);
        });
    </script>
于 2012-10-23T09:08:18.993 に答える
0
<script>
function showImage1()
{
    $('#IDimage1').show();
    setTimeout(showImage2,3000);
}

function showImage2()
{
   $('#IDimage1').hide();
   $('#IDimage2').show();
}
</script>

これは最も単純なアプローチです。これ以外に、JQuery からトグルまたはフェードイン/アウト関数を試すことができます。

于 2012-10-23T09:47:37.087 に答える