1

スライダー用に持っていたコードからカスタム カルーセルを構築することができました.\

今はすべて機能していますが、並べ方に少し問題があります。これが私がこれまでに持っているものです:- http://goo.gl/lw4FVS

私が望むのは、中央のフェードされていない領域内に常に 4 つのスライドが表示されるようにすることです。ご覧のとおり、ちょうど中心からずれています。

使用している画面サイズに関係なく、4 つのカルーセル アイテムを中央に表示する必要があります。

私のjqueryコードは次のとおりです:-

var carouselsliderWidth = 0;
var carouselsliderWidth = 0;
var carouselimageWidth = $('.carousel-slider .carousel-slide:first').width();
var carouselcount = 0;
var carouselimageCount = 0;
var carouselimageLeft = 0;

carouselrepositionImages();

$('.carousel-slider .carousel-slide').each(function(){
    carouselsliderWidth = carouselsliderWidth + $(this).width();
});

$('.carousel-slider').width(carouselsliderWidth);

//alert(carouselimageWidth);

function carouselrepositionImages() {
    carouselimageLeft = 234 - (($(window).width() - 234) / 2 );
    $('.carousel-slider .carousel-slide').css('left','-'+carouselimageLeft+'px');
}

$('a.carousel-move-left').click(function(){
    if($('.carousel-slider .carousel-slide:not(":animated")').length != 0) {
        $('.carousel-slider .carousel-slide:first').addClass('carousel-move-0');
        carouselfirstImage = $('.carousel-slider').children('.carousel-slide.carousel-move-0').clone();
        $('.carousel-slider').width(carouselsliderWidth+carouselimageWidth);
        $('.carousel-slider').append(carouselfirstImage);
        $('.carousel-slider .carousel-slide').animate({'left':'-='+carouselimageWidth}, 500 ,function(){
            $('.carousel-slider .carousel-slide:last').removeClass('carousel-move-0');
            $('.carousel-slider').children('.carousel-slide.carousel-move-0').remove();
            $('.carousel-slider .carousel-slide').css('left','-'+carouselimageLeft+'px');
            $('.carousel-move-0').removeClass('carousel-move-0');
        })
    }
    return false;
});

$('a.carousel-move-right').click(function(){
    if($('.carousel-slider .carousel-slide:not(":animated")').length != 0) {
        $('.carousel-slider .carousel-slide:last').addClass('carousel-move-5');
        carouselfirstImage = $('.carousel-slider').children('.carousel-slide.carousel-move-5').clone();
        $('.carousel-slider').width(carouselsliderWidth+carouselimageWidth);
        $('.carousel-slider').prepend(carouselfirstImage);
        $('.carousel-slider .carousel-slide').css('left','-'+(carouselimageLeft+carouselimageWidth)+'px');
        $('.carousel-slider .carousel-slide').animate({'left':'+='+carouselimageWidth}, 500 ,function(){
            $('.carousel-slider .carousel-slide:first').removeClass('carousel-move-5');
            $('.carousel-slider').children('.carousel-slide.carousel-move-5').remove();
            $('.carousel-slider .carousel-slide').css('left','-'+carouselimageLeft+'px');
            $('.carousel-move-5').removeClass('carousel-move-5');
        })
    }
    return false;
});

$(window).resize(function(){
    carouselrepositionImages();
    //resizeOverlay();
})

これを行う方法に関するヘルプやアドバイスは素晴らしいでしょう。親切な人に感謝します。

4

0 に答える 0