中心幻灯片缩略图不能使用iDangero.us的Swiper

时间:2016-03-20 22:54:20

标签: javascript jquery html css

我正在使用iDangero.us插件的Swiper。我创建的布局包含6个滑块图像和6个缩略图。

如果我将缩略图对齐居中,插件就会搞砸了。我这样做是将centeredSlides var更改为false

这是一个JSFiddle:enter image description here

有人可以帮我解决这个问题吗?或者,如果有任何解决方法..

https://jsfiddle.net/fa4218de/5/

1 个答案:

答案 0 :(得分:1)

如果有人需要答案。我创建了自己的解决方案,通过将缩略图链接到单个swipper并相对于子缩略图数量旋转它们。以下是代码。

THE JS

jQuery(document).ready(function($) {

    var galleryTop = new Swiper('.gallery-top', {
        paginationClickable: true,
        nextButton: '.swiper-button-next',
        prevButton: '.swiper-button-prev',
        spaceBetween: 30,

    });

    // Make first child of div active
    $(".portfolios-thumb-wrapper .container .row div:first-child").addClass("active");


    // When click on any of the thumbnails with classname 'slide_no' it 
    // gets the child number of the div and then I just use that number
    // to rotate to that specific slide number by 'slideTo' callback
    $('.slide_no').each(function (i) {
        $(this).click(function (e) {
            e.preventDefault();
            var thumb = i;
            galleryTop.slideTo( thumb,1000,false );
            $('.slide_no').removeClass('active');
            $(this).addClass('active');

        });
    });
});

PHP与HTML(WordPress),以防您需要了解标记

<div class="portfolios-wrapper">
<?php   if ( $postslist->have_posts() ) : ?>
        <div class="swiper-container gallery-top">
            <div class="swiper-wrapper gallery_top_slides">

        <?php while ( $postslist->have_posts() ) : $postslist->the_post(); ?>

                <?php 
                $post_id            = $post->ID;
                $permalink          = get_post_permalink( $post_id );
                $backgroundImage    = get_post_meta( $post_id, 'portfolio_background_image', true );

                ?>

                <div class="swiper-slide top_slide_<?php echo $top_counter;?>" style="background-image: url('<?php echo $backgroundImage; ?>');">

                    <div class="portfolio-details" style="background-color:transparent">
                        <div class="container" style="background-color:transparent">
                            <div class="row">
                                <div class="col-md-6">
                                    <div class="portfololio-thumb">
                                        <?php echo the_post_thumbnail( 'large' );?>
                                        <?php echo the_title( '<h2>', '</h2>', true );?>
                                    </div>
                                </div>

                                <div class="col-md-6">

                                    <div class="portfololio-excerpt">
                                        <?php echo the_title( '<h2>', '</h2>', true );?>
                                        <p><?php echo get_the_date( 'M Y' ); ?></p>
                                        <span class="excerpt"><?php echo the_excerpt(); ?></span>
                                    </div>
                                </div>

                            </div>
                        </div>
                    </div>
                </div>

        <?php $top_counter++; endwhile; ?>
            </div>
            <div class="container custom_adjust">
                <div class="swiper-button-next custom-btn-next">Next</div>
                <div class="swiper-button-prev custom-btn-prev">Previous</div>
            </div>
        </div>
<?php   endif; ?>
</div> 

<div class="portfolios-thumb-wrapper">
<?php   if ( $postslist->have_posts() ) : ?>
        <div class="container">
                <div class="row">

            <?php while ( $postslist->have_posts() ) : $postslist->the_post(); ?>

                    <?php if (has_post_thumbnail( $post->ID ) ): ?>
                        <?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' ); ?>
                    <?php endif; ?>

                    <div class="col-md-2 slide_no">
                        <div class="thumb_slide" style="background-image: url(' <?php echo $image[0]; ?> ')">
                        </div>
                        <div class="portfolio-title"><?php echo the_title( '<h2>', '</h2>', true );?> </div>
                    </div>  

            <?php $thumb_counter++; endwhile; ?>
                </div>
        </div>

<?php   endif; ?> 
</div>