图像轮播不会反向无限循环

瑞安·科普兰(Ryan Copeland)

我正在创建一个包含三个图像的HTML5图像轮播。过渡是通过TweenMax和TimeLine完成的。我有两个单击事件,一个用于下一个图像,一个用于上一个图像,下一个图像功能正常运行,并且是一个无限循环,但是上一个功能在经过图像一次后停止。这是代码。

HTML:

<div id="expanded-state">
    <div id="expanded-exit"></div>
    <div id="close-btn"></div>
    <button id="arrow-prev"></button>
    <button id="arrow-next"></button>
    <div id="theater">
        <div class="theater"></div>
        <div class="theater"></div>
        <div class="theater"></div>
    </div>
    <div id="cta"></div>
    <div id="footer"></div>
  </div>
</div>

CSS:

.theater {
    width: 970px;
    height: 345px;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 1;
}

.theater:nth-child(1){
    background: url(theater-01.jpg);
}

.theater:nth-child(2){
    background: url(theater-02.jpg);
}

.theater:nth-child(3){
    background: url(theater-03.jpg);
}

JS:

var $slides = $(".theater");
var currentSlide = 0;

function addListeners() {
    arrowPrev.addEventListener('click', theaterScrollPrev);
    arrowNext.addEventListener('click', theaterScrollNext);
}

function theaterScrollNext() {

    tm.to( $slides.eq(currentSlide), 0.5, {left:"-970px"} );        

    if (currentSlide < $slides.length - 1) {
        currentSlide++;
    }
    else {
        currentSlide = 0;
    }

    tm.fromTo( $slides.eq(currentSlide), 0.5, {left: "970px"}, {left:"0px"} );
}

function theaterScrollPrev() {

    tm.to( $slides.eq(currentSlide), 0.5, {left:"970px"} );     

    if (currentSlide < $slides.length - 1) {
        currentSlide--;
    }
    else {
        currentSlide = 0;
    }

    tm.fromTo( $slides.eq(currentSlide), 0.5, {left: "-970px"}, {left:"0px"});
}
里德尔

我相信这应该解决它,但是告诉我是否可以解决

    function theaterScrollPrev() {
    console.log('previous clicked')
    tm.to( $slides.eq(currentSlide), 0.5, {left:"970px"} );     

    if (currentSlide <= 0) {
        currentSlide = $slides.length -1;
  } else {
    currentSlide--;
    }

      tm.fromTo( $slides.eq(currentSlide), 0.5, {left: "-970px"}, {left:"0px"} );
}

固定码笔

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

自制图像轮播不会循环播放

来自分类Dev

自制图像轮播不会循环播放

来自分类Dev

Flexslider轮播无限循环错误

来自分类Dev

Apache反向代理无限循环

来自分类Dev

Bootstrap 无限轮播(循环)多项目

来自分类Dev

Nginx https反向代理无限循环

来自分类Dev

如何实现无限图像循环?

来自分类Dev

如何使我的图像轮播循环而不是返回

来自分类Dev

不会无限循环浪费CPU资源吗?

来自分类Dev

为什么它不会无限循环

来自分类Dev

无限循环,因为迭代器不会移动

来自分类Dev

fork:子进程不会无限循环

来自分类Dev

无限循环一组图像

来自分类Dev

Java Servlet 在无限循环中写入图像

来自分类Dev

Costum Pipe 使图像无限循环(闪烁)

来自分类Dev

React JS无限轮播

来自分类Dev

图像轮播

来自分类Dev

为什么这不会引起事件的无限循环?

来自分类Dev

C中的无限循环不会停止scanf

来自分类Dev

使用触发器更新行而不会导致无限循环

来自分类Dev

为什么这段代码不会引起无限循环?

来自分类Dev

多重处理池无限循环(并行处理不会停止)

来自分类Dev

循环计数“永远”不会无限期地运行测试

来自分类Dev

反应:componentDidMount 中的 setState 不会导致无限循环

来自分类Dev

HTML 按钮文本在无限循环之前不会改变

来自分类Dev

Ctrl + C命令不会终止无限(while)循环

来自分类Dev

在无限循环中从左到右和从右到左平移箭头图像动画

来自分类Dev

无限循环

来自分类Dev

无限循环而