【问题标题】:Bootstrap thumbnail slider : Displaying number of images based on screen引导缩略图滑块:根据屏幕显示图像数量
【发布时间】:2013-08-23 09:15:42
【问题描述】:

我创建了一个引导图像缩略图滑块。我在滑块中以正常屏幕尺寸显示四个图像。

Demo url:

现在我想根据响应式在小屏幕上的缩略图滑块中只显示一个图像。

请给我建议。我是响应式设计的新手。

我的代码:

<div class="container">

  <div class="span8">

    <h1>Bootstrap Thumbnail Slider</h1>

    <div class="well">

    <div id="myCarousel" class="carousel slide">

    <ol class="carousel-indicators">
        <li data-target="#myCarousel" data-slide-to="0" class="active"></li>
        <li data-target="#myCarousel" data-slide-to="1"></li>
        <li data-target="#myCarousel" data-slide-to="2"></li>
    </ol>

    <!-- Carousel items -->
    <div class="carousel-inner">

    <div class="item active">
        <div class="row-fluid">
          <div class="span3"><a href="#x" class="thumbnail"><img src="http://placehold.it/250x250" alt="Image" style="max-width:100%;"></a></div>
          <div class="span3"><a href="#x" class="thumbnail"><img src="http://placehold.it/250x250" alt="Image" style="max-width:100%;"></a></div>
          <div class="span3"><a href="#x" class="thumbnail"><img src="http://placehold.it/250x250" alt="Image" style="max-width:100%;"></a></div>
          <div class="span3"><a href="#x" class="thumbnail"><img src="http://placehold.it/250x250" alt="Image" style="max-width:100%;"></a></div>
        </div><!--/row-fluid-->
    </div><!--/item-->

    <div class="item">
        <div class="row-fluid">
            <div class="span3"><a href="#x" class="thumbnail"><img src="http://placehold.it/250x250" alt="Image" style="max-width:100%;"></a></div>
            <div class="span3"><a href="#x" class="thumbnail"><img src="http://placehold.it/250x250" alt="Image" style="max-width:100%;"></a></div>
            <div class="span3"><a href="#x" class="thumbnail"><img src="http://placehold.it/250x250" alt="Image" style="max-width:100%;"></a></div>
            <div class="span3"><a href="#x" class="thumbnail"><img src="http://placehold.it/250x250" alt="Image" style="max-width:100%;"></a></div>
        </div><!--/row-fluid-->
    </div><!--/item-->

    <div class="item">
        <div class="row-fluid">
            <div class="span3"><a href="#x" class="thumbnail"><img src="http://placehold.it/250x250" alt="Image" style="max-width:100%;"></a></div>
            <div class="span3"><a href="#x" class="thumbnail"><img src="http://placehold.it/250x250" alt="Image" style="max-width:100%;"></a></div>
            <div class="span3"><a href="#x" class="thumbnail"><img src="http://placehold.it/250x250" alt="Image" style="max-width:100%;"></a></div>
            <div class="span3"><a href="#x" class="thumbnail"><img src="http://placehold.it/250x250" alt="Image" style="max-width:100%;"></a></div>
        </div><!--/row-fluid-->
    </div><!--/item-->

    </div><!--/carousel-inner-->

    <a class="left carousel-control" href="#myCarousel" data-slide="prev">‹</a>
    <a class="right carousel-control" href="#myCarousel" data-slide="next">›</a>
    </div><!--/myCarousel-->

    </div><!--/well-->
  </div>
</div>

【问题讨论】:

    标签: css html twitter-bootstrap responsive-design


    【解决方案1】:

    我不相信您可以仅通过 CSS 实现此解决方案。因为轮播的幻灯片是“项目”类,所以当它进入小屏幕时,它仍然有 3 个项目幻灯片,但每张幻灯片中有 4 个垂直堆叠的缩略图(每张幻灯片的 span3 内容与引导响应类堆叠在一起)。但是有两种解决方法。

    选项 1 - 更简单

    有两个轮播。一个是您显示的那个,另一个省略了 row-fluid 和 item 包装器,并将 item 放置在每个 span3 上。您的原始设备获得“隐藏电话”类,而新设备获得“可见电话”类。此外,您需要在手机版本上省略滑动指示器,以减少许多项目的混乱。下面我包含了一个指向 jsfiddle 示例的链接。只需将中间的垂直框架分隔符向右移动即可调整为手机宽度(反之亦然)。

    http://jsfiddle.net/guydog28/tEKg8/

    选项 2 - 更难

    第二种选择要困难得多。如果您必须只有一个轮播,则必须键入窗口调整大小事件以查看您现在是手机大小还是手机大小。然后,您实际上将不得不操作 DOM,使您的轮播看起来像轮播二,然后在调整窗口大小时再次返回。所以javascript看起来像这样:

    $(document).ready(function () {
        //start the carousel
        $(".carousel").carousel();
    
        //bind to window resize event to see if we've toggled 
        //between phone and larger
        $(window).resize(function () {
            if ($(window).width() < 768) {
              //Phone size, manipulate DOM for phone here
            } else {
              //Not phone size, re-manipulate DOM to get back to original carousel
            }
            //Re-init carousel
            $(".carousel").carousel();
        });
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-09
      • 1970-01-01
      • 2016-10-31
      • 2013-01-29
      • 2013-10-04
      • 1970-01-01
      相关资源
      最近更新 更多