javascript - 带有缩略图的中心幻灯片无法正常工作 iDangero.us 的 Swiper

标签 javascript jquery html css

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

如果我让缩略图居中对齐,插件会以某种方式搞砸。为此,我将 centeredSlides var 更改为 false

这是一个 JSFiddle:https://jsfiddle.net/fa4218de/5/

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

Swipper API Docs

最佳答案

万一有人需要回答这个问题。我创建了自己的解决方案,方法是将缩略图链接到单个滑动器并根据缩略图的子编号旋转它们。下面是代码。

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>

关于javascript - 带有缩略图的中心幻灯片无法正常工作 iDangero.us 的 Swiper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36120639/

相关文章:

javascript - Ember cli 切换侧边栏 "implementing the Jquery part?"

javascript - 将控件 ID 传递给 javascript 和 css

javascript - 如果 props 没有值,则不显示 div

javascript - Angular 6 中的 CSS 间距问题

javascript - jquery 中的 addClass 无法正常工作

javascript - 加载主 index.html 时加载到 div 中的某些 html 子页面

jquery - 如何在客户端访问模型错误?

javascript - php中cookie添加10分钟过期时间

html - 如何创建使用 React Material 用户界面主题的 <h1/> 元素?

css - 无法修复 iframe 高度