多个Bootstrap轮播和自定义jQuery控件

mk97

我在多个引导程序轮播和同一页面上以及每个轮播我想要的一些自定义jquery行为方面遇到了一些困难(当轮播位于第一个项目上时,基本上隐藏左控件,而当carosely位于最后一个项上时,则隐藏右控件。)

我能够基于此堆栈溢出答案在页面上的一个轮播上正常工作:引导轮播隐藏第一个和最后一个隐藏控件

但是,当我在页面上有第二个或第三个轮播时,jQuery / javascript仅控制第一个轮播。我理解为什么会这样,但是我的问题是如何根据用户恰好滚动浏览哪个轮播(myCarousel-1,myCarousel-2等)来动态更新jquery,以便所有轮播都具有相同的行为根据控件所在的控件隐藏控件。

在此先感谢您的帮助。

jQuery-如何更新“#myCarousel-1”,使其对任何“ myCarousel-#”起作用

$("#myCarousel-1").carousel({
  interval: false,
  wrap: false
});
var checkitem = function() {
  var $this;
  $this = $("#myCarousel-1");
  if ($("#myCarousel .carousel-inner .item:first").hasClass("active")) {
    $this.children(".left").hide();
    $this.children(".right").show();
  } else if ($("#myCarousel-1 .carousel-inner .item:last").hasClass("active")) {
    $this.children(".right").hide();
    $this.children(".left").show();
  } else {
    $this.children(".carousel-control").show();
  }
};
checkitem();
$("#myCarousel-1").on("slid.bs.carousel", "", checkitem);

轮播HTML:

<div id="myCarousel-1" class="carousel slide hidden-xs">
  <div class="carousel-inner">
    <div class="item active">
      <div class="row" style="padding-left: 15px;">
        <div class="col-sm-3" style="padding: 5px 0px;"><img src="http://placehold.it/200x113" alt="Image" class="img-responsive hidden-xs"></div>
        <div class="col-sm-3" style="padding: 5px 0px;"><img src="http://placehold.it/200x113" alt="Image" class="img-responsive hidden-xs"></div>
        <div class="col-sm-3" style="padding: 5px 0px;"><img src="http://placehold.it/200x113" alt="Image" class="img-responsive hidden-xs"></div>
        <div class="col-sm-3" style="padding: 5px 0px;"><img src="http://placehold.it/200x113" alt="Image" class="img-responsive hidden-xs"></div>
      </div>
    </div>
    <div class="item">
      <div class="row" style="padding-left: 15px;">
        <div class="col-sm-3" style="padding: 5px 0px;"><img src="http://placehold.it/200x113" alt="Image" class="img-responsive hidden-xs"></div>
        <div class="col-sm-3" style="padding: 5px 0px;"><img src="http://placehold.it/200x113" alt="Image" class="img-responsive hidden-xs"></div>
        <div class="col-sm-3" style="padding: 5px 0px;"><img src="http://placehold.it/200x113" alt="Image" class="img-responsive hidden-xs"></div>
        <div class="col-sm-3" style="padding: 5px 0px;"><img src="http://placehold.it/200x113" alt="Image" class="img-responsive hidden-xs"></div>
      </div>
    </div>
    <div class="item">
      <div class="row" style="padding-left: 15px;">
        <div class="col-sm-3" style="padding: 5px 0px;"><img src="http://placehold.it/200x113" alt="Image" class="img-responsive hidden-xs"></div>
        <div class="col-sm-3" style="padding: 5px 0px;"><img src="http://placehold.it/200x113" alt="Image" class="img-responsive hidden-xs"></div>
        <div class="col-sm-3" style="padding: 5px 0px;"><img src="http://placehold.it/200x113" alt="Image" class="img-responsive hidden-xs"></div>
        <div class="col-sm-3" style="padding: 5px 0px;"><img src="http://placehold.it/200x113" alt="Image" class="img-responsive hidden-xs"></div>
      </div>
    </div>
  </div>
  <a class="carousel-control left" href="#myCarousel-1" data-slide="prev"><span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
  <span class="sr-only">Prev</span></a></a>
  <a class="right carousel-control" href="#myCarousel-1" data-slide="next"><span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
  <span class="sr-only">Next</span></a>
</div>

<div id="myCarousel-2" class="carousel slide hidden-xs">
  <div class="carousel-inner">
    <div class="item active">
      <div class="row" style="padding-left: 15px;">
        <div class="col-sm-3" style="padding: 5px 0px;"><img src="http://placehold.it/200x113" alt="Image" class="img-responsive hidden-xs"></div>
        <div class="col-sm-3" style="padding: 5px 0px;"><img src="http://placehold.it/200x113" alt="Image" class="img-responsive hidden-xs"></div>
        <div class="col-sm-3" style="padding: 5px 0px;"><img src="http://placehold.it/200x113" alt="Image" class="img-responsive hidden-xs"></div>
        <div class="col-sm-3" style="padding: 5px 0px;"><img src="http://placehold.it/200x113" alt="Image" class="img-responsive hidden-xs"></div>
      </div>
    </div>
    <div class="item">
      <div class="row" style="padding-left: 15px;">
        <div class="col-sm-3" style="padding: 5px 0px;"><img src="http://placehold.it/200x113" alt="Image" class="img-responsive hidden-xs"></div>
        <div class="col-sm-3" style="padding: 5px 0px;"><img src="http://placehold.it/200x113" alt="Image" class="img-responsive hidden-xs"></div>
        <div class="col-sm-3" style="padding: 5px 0px;"><img src="http://placehold.it/200x113" alt="Image" class="img-responsive hidden-xs"></div>
        <div class="col-sm-3" style="padding: 5px 0px;"><img src="http://placehold.it/200x113" alt="Image" class="img-responsive hidden-xs"></div>
      </div>
    </div>
    <div class="item">
      <div class="row" style="padding-left: 15px;">
        <div class="col-sm-3" style="padding: 5px 0px;"><img src="http://placehold.it/200x113" alt="Image" class="img-responsive hidden-xs"></div>
        <div class="col-sm-3" style="padding: 5px 0px;"><img src="http://placehold.it/200x113" alt="Image" class="img-responsive hidden-xs"></div>
        <div class="col-sm-3" style="padding: 5px 0px;"><img src="http://placehold.it/200x113" alt="Image" class="img-responsive hidden-xs"></div>
        <div class="col-sm-3" style="padding: 5px 0px;"><img src="http://placehold.it/200x113" alt="Image" class="img-responsive hidden-xs"></div>
      </div>
    </div>
  </div>
  <a class="carousel-control left" href="#myCarousel-2" data-slide="prev"><span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
  <span class="sr-only">Prev</span></a></a>
  <a class="right carousel-control" href="#myCarousel-2" data-slide="next"><span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
  <span class="sr-only">Next</span></a>
</div>
dm4web

http://jsfiddle.net/jd3c174c/1/

  1. 管理多个幻灯片使用的类。在这种情况下,它是“轮播”。
  2. 使用slide.bs.carousel事件。调用幻灯片实例方法时,将立即触发此事件。

JQ:

$(".carousel").carousel({
  interval: false,
  wrap: false
});

$('.carousel').on('slide.bs.carousel', function (obj) {
    //get current carousel
    var $CAR=$(this);

    //get curent slide index
    var currItem = $(obj.relatedTarget).index();
    //get the total number of slides
    var countItem = $CAR.find('.item').size();

    //if the current slide last, hide right arraow
    //otherwise show right arraow
    if(currItem==countItem-1) 
        $CAR.children(".right").hide();
    else
        $CAR.children(".right").show();

    //if the current slide first, hide left arraow
    //otherwise show left arraow
    if(currItem==0) 
        $CAR.children(".left").hide();
    else
        $CAR.children(".left").show();

    //console.log(currItem+'/'+countItem);

})

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

自定义 Bootstrap 轮播

来自分类Dev

自定义 jQuery 轮播过渡错误

来自分类Dev

Swift,iboutlet和自定义控件

来自分类Dev

自定义控件和事件处理?

来自分类Dev

MVVMCross自定义控件和绑定

来自分类Dev

自定义轮播间隔?

来自分类Dev

自定义轮播间隔?

来自分类Dev

如何使用Elmish.wpf和F#管理多个窗口,用户控件和自定义控件?

来自分类Dev

Xpages:具有属性组和多个实例的自定义控件

来自分类Dev

jQuery和Bootstrap轮播

来自分类Dev

Gridview自定义控件和javascript函数C#

来自分类Dev

具有自定义控件的MPMoviewcontroller和AVPlayer

来自分类Dev

实体框架6和自定义控件

来自分类Dev

具有自定义控件的MPMoviewcontroller和AVPlayer

来自分类Dev

带有MVVM和Catel的自定义用户控件

来自分类Dev

自定义YouTube控件,标题和整个iFrame

来自分类Dev

WPF、自定义控件和样式/主题继承

来自分类Dev

DataGridTemplateColumn的自定义控件

来自分类Dev

自定义gui控件

来自分类Dev

指令自定义控件

来自分类Dev

自定义控件Android

来自分类Dev

如何控制自定义的JavaScript轮播

来自分类Dev

如何塑造或掩盖自定义轮播

来自分类Dev

Flexslider轮播自定义导航-同一页上的多个

来自分类Dev

Caliburn Micro->从多个视图/用户控件/自定义控件组成视图

来自分类Dev

使用WPF C#中的多个控件的组合创建一个自定义控件

来自分类Dev

Caliburn Micro->从多个视图/用户控件/自定义控件组成视图

来自分类Dev

多个自定义控件会影响控件的可见性

来自分类Dev

AngularJS-陷入Angular UI Bootstrap-轮播自定义Next()吗?