0

このようなスライドショーを実現しようとしています

http://ge.tt/api/1/files/2AjKcVM/0/blob/x675?noinc=1

ここで、幅は 100% で、左または右に無限にスクロールし続けますが、ブラウザの解像度に関係なく常に画像が中央に表示されます。これは私がこれまでに得たものです

http://fourcreeklandscape.com/index2.html

スライドショーの画像の幅は 800px で、一番左の画像の margin-left は -25% です...これは、1280px の画面サイズで動作するように見えます....しかし、サイズを変更すると想定されるようには見えません窓。

使用しているスライドショーのコードはこちら

$(document).ready(function() {
    //move he last list item before the first item. The purpose of this is if the user clicks to slide left he will be able to see the last item.
    $('#carousel_ul li:first').before($('#carousel_ul li:last')); 


    //when user clicks the image for sliding right        
    $('#right_scroll img').click(function(){

        //get the width of the items ( i like making the jquery part dynamic, so if you change the width in the css you won't have o change it here too ) '
        var item_width = $('#carousel_ul li').outerWidth() + 10;

        //calculae the new left indent of the unordered list
        var left_indent = parseInt($('#carousel_ul').css('left')) - item_width;

        //make the sliding effect using jquery's anumate function '
        $('#carousel_ul:not(:animated)').animate({'left' : left_indent},500,function(){    

            //get the first list item and put it after the last list item (that's how the infinite effects is made) '
            $('#carousel_ul li:last').after($('#carousel_ul li:first')); 

            //and get the left indent to the default -210px
            $('#carousel_ul').css({'left' : '-210px'});
        }); 
    });

    //when user clicks the image for sliding left
    $('#left_scroll img').click(function(){

        var item_width = $('#carousel_ul li').outerWidth() + 10;

        /* same as for sliding right except that it's current left indent + the item width (for the sliding right it's - item_width) */
        var left_indent = parseInt($('#carousel_ul').css('left')) + item_width;

        $('#carousel_ul:not(:animated)').animate({'left' : left_indent},500,function(){    

        /* when sliding to left we are moving the last item before the first list item */            
        $('#carousel_ul li:first').before($('#carousel_ul li:last')); 

        /* and again, when we make that change we are setting the left indent of our unordered list to the default -210px */
        $('#carousel_ul').css({'left' : '-210px'});
        });


    });});

何か案は?ありがとう

4

1 に答える 1

1

この CSS を #carousel_ul に配置できます

left: 50%;
margin-left: -1200px;

左から右になるように注意してください。唯一の問題は、誰かがおそらく 2000px よりも広いモニターを使用している場合、スライドショーが最初に開始されたときに画像が表示されずに少し左側に表示されることですが、それは非常に少ない人だと思います.

于 2012-08-24T01:36:36.070 に答える