【问题标题】:Sliding Current Carousel Item in Bootstrap Modal Slider在 Bootstrap 模态滑块中滑动当前轮播项目
【发布时间】:2013-07-25 18:52:21
【问题描述】:

我正在尝试使用 Bootstrap 轮播和 Modal 创建一个简单的灯箱。请take a look at sample file which I have here

我想做的是启动模态轮播作为主轮播的同一幻灯片(当前幻灯片)。从示例中可以看出,当我启动 Modal 时,它只是从第一项开始,但我需要从当前活动幻灯片开始。

你能告诉我怎么做吗?

<div class="container">
<div class="well span9 columns">
    <div id="myCarousel" class="carousel slide">
        <div class="carousel-inner">
            <div class="item active">
                <a href=".bell" data-toggle="modal"><img src="http://bootstrapdocs.com/v2.0.3/docs/assets/img/bootstrap-mdo-sfmoma-01.jpg" alt=""/></a>
            </div>
            <div class="item">
                <img src="http://bootstrapdocs.com/v2.0.3/docs/assets/img/bootstrap-mdo-sfmoma-02.jpg" alt=""/>
            </div>
            <div class="item">
                <img src="http://bootstrapdocs.com/v2.0.3/docs/assets/img/bootstrap-mdo-sfmoma-03.jpg" alt=""/>
            </div>
        </div>
        <a class="left carousel-control" href="#myCarousel" data-slide="prev">‹</a>
        <a class="right carousel-control" href="#myCarousel" data-slide="next">›</a>
    </div>
    <!-- Modal -->
    <div id="bell" class="modal hide fade bell" aria-hidden="true">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
            <h3 id="myModalLabel">Modal header</h3>
        </div>
        <div class="modal-body">
            <div id="myCarousel2" class="carousel slide">
                <div class="carousel-inner">
                    <div class="item active">
                        <img src="http://bootstrapdocs.com/v2.0.3/docs/assets/img/bootstrap-mdo-sfmoma-01.jpg" alt=""/>
                    </div>
                    <div class="item">
                        <img src="http://bootstrapdocs.com/v2.0.3/docs/assets/img/bootstrap-mdo-sfmoma-02.jpg" alt=""/>
                    </div>
                    <div class="item">
                        <img src="http://bootstrapdocs.com/v2.0.3/docs/assets/img/bootstrap-mdo-sfmoma-03.jpg" alt=""/>
                    </div>
                </div>
                <a class="left carousel-control" href="#myCarousel2" data-slide="prev">‹</a>
                <a class="right carousel-control" href="#myCarousel2" data-slide="next">›</a>
            </div>
        </div>
        <div class="modal-footer">
            <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
        </div>
    </div>
    <div class="btn-group" data-toggle="buttons-radio">
        <button type="button" class="btn btn-inverse"><a href=".bell" data-toggle="modal"><i class="icon-resize-full icon-white"></i></a>
        </button>
    </div>
</div>

谢谢

【问题讨论】:

  • 对于 Twitter 引导问题,请仅使用“twitter-bootstrap”标签
  • 那么,我现在需要编辑帖子吗?

标签: jquery twitter-bootstrap slider


【解决方案1】:

这似乎行得通。

$('.bell').on('show', function() {
    var targetSlide = parseInt($('#myCarousel .active').index('#myCarousel .item'));
    $('#myCarousel2').carousel(targetSlide);
});

这会获取显示在主轮播上的当前索引。

$('#myCarousel .active').index('#myCarousel .item')

这会设置模态轮播的当前幻灯片。

$('#myCarousel2').carousel(/*Number here*/);

Here is a jsFillde 上面的代码。

【讨论】:

  • 感谢 Schmalzy,但您的解决方案似乎存在一些问题:当您将主滑块滑动到第三项然后运行模式时,模式轮播再次从第一张幻灯片开始并在第二张幻灯片上停止有时在重新打开模式后它也不起作用!
  • 我对它进行了一些更新以解决第三张幻灯片的错误(参见相同的 jsFiddle 链接),我添加了 parseInt。但它似乎仍然在一段时间后刹车。我知道我在正确的轨道上......但是我缺少一些东西......
  • 我想我明白了.... jsFiddle 有一个旧版本(2.0.2)的 bootstrap js 文件。我添加了对当前版本(2.3.2)的引用,它运行良好。 jsfiddle.net/J8GLy/9
  • 谢谢,非常感谢您的宝贵时间。它现在可以工作了,唯一的小问题是为什么模态滑块从以前的滑块开始?例如,当您单击主轮播上的幻灯片 2 时,它首先显示第一张幻灯片,然后停在第二张幻灯片上!有没有办法从精确的幻灯片开始?再次感谢您的帮助!
  • 您可以通过将$('.bell').on('shown', function() { 更改为$('.bell').on('show', function() {(将shown 更改为show)来解决此问题。没有问题。我喜欢解决这样的问题......
猜你喜欢
  • 1970-01-01
  • 2016-12-30
  • 2017-06-03
  • 1970-01-01
  • 2023-01-20
  • 2012-05-26
  • 1970-01-01
  • 1970-01-01
  • 2019-05-21
相关资源
最近更新 更多