Flex 容器图像滑块轮播

里亚康

我正在尝试使用 flex 容器制作图像轮播。我希望轮播在特定时间过去后滑动图像。第一次迭代没问题,但是当第二次迭代到来时,它什么也不做。

我不想使用第三方轮播。谢谢你的回答

$(document).ready( function() {

var carouselWidth = $('.rm-carousel-item').width();

var carIndex = 0;
var playCarousel = setInterval(function(){ autoPlayCarousel(carIndex) }, 3000);

function autoPlayCarousel(index){
    var items = $('.racmma-carousel').children();

    for (var i = 0; i < items.length; i++){
        console.log(i);
        var item = items.get(i);
        $(item).css({'transform' : 'translate(' + -carouselWidth +'px, ' + 0 + 'px)'});
    }
    carIndex += 1;
    //if ( carIndex > items.length) { carIndex = 0; }
}
});

这是我得到的小提琴:

https://jsfiddle.net/j565rdk8/3/

陪伴阿菲

你几乎很好,你只需要在每次迭代中增加翻译,因为实际上你总是在改变相同的值。你需要做这样的事情:

'transform': 'translate(' + -(index * carouselWidth) + 'px, ' + 0 + 'px)'

随着索引的增加,每次迭代的翻译都会变大:

$(document).ready(function() {

  var carouselWidth = $('.rm-carousel-item').width();

  var carIndex = 0;
  var playCarousel = setInterval(function() {
    autoPlayCarousel(carIndex)
  }, 1000);

  function autoPlayCarousel(index) {
    var items = $('.racmma-carousel').children();

    for (var i = 0; i < items.length; i++) {
      var item = items.get(i);
      $(item).css({
        'transform': 'translate(' + -(index * carouselWidth) + 'px, ' + 0 + 'px)'
      });
    }
    carIndex += 1;
    if (carIndex == items.length) {
      carIndex = 0;
    }
  }
});
.racmma-carousel {
  height: 100%;
  max-width: 10000%;
  display: -moz-flex;
  display: -webkit-flex;
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  overflow: hidden;
}

.rm-carousel-item {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transition: 0.6s all ease-in-out;
  min-height: 200px;
}

#carousel-item-1 {
  background-image: url(/bd/media/hero.jpg);
  background-color: blue;
}

#carousel-item-2 {
  background-image: url(/bd/media/hero2.jpg);
  background-color: red;
}

#carousel-item-3 {
  background-image: url(/bd/media/hero3.jpg);
  background-color: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="racmma-carousel">
  <div class="rm-carousel-item" id="carousel-item-1">

  </div>
  <div class="rm-carousel-item" id="carousel-item-2">

  </div>
  <div class="rm-carousel-item" id="carousel-item-3">

  </div>
</div>

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

设置显示Flex Slider轮播图片的数量

来自分类Dev

将单个元素移到flex容器的末尾

来自分类Dev

Flex容器是否可以替代“浮点”?

来自分类Dev

如何使用方向:列在Flex容器中垂直放置图像

来自分类Dev

将flex项堆叠到flex容器的底部

来自分类Dev

Flex容器中的元素未包装

来自分类Dev

在flex容器中将项目右对齐

来自分类Dev

使背景图像适合Flex容器

来自分类Dev

如何防止Flex容器上溢/下溢?

来自分类Dev

浮动在flex容器中不起作用

来自分类Dev

并排放置不同的Flex容器

来自分类Dev

图像inisde flex项目缩小

来自分类Dev

尝试使用flex规则使flex容器中的文本左对齐

来自分类Dev

flex容器的子代超过父代

来自分类Dev

Flex容器溢出

来自分类Dev

使用Flex时图像消失

来自分类Dev

CSS Flex:根据图像大小调整Flex框的大小

来自分类Dev

Flex容器的背景图像

来自分类Dev

Flex容器移出页面

来自分类Dev

使div进入flex容器

来自分类Dev

轮播/滑块图像无法正确调整大小

来自分类Dev

调整Flex Spark图像大小以适合容器

来自分类Dev

如何使用方向:列在Flex容器中垂直放置图像

来自分类Dev

轮播/滑块选择以加载主图像

来自分类Dev

flex容器中的垂直溢出

来自分类Dev

将图像与 flex 容器中的文本对齐

来自分类Dev

flex 容器中的 CSS 背景图像

来自分类Dev

将 flex item 变成 flex 容器是不好的做法吗?

来自分类Dev

同步 flex 滑块 - flex-direction-nav(Arrows)