带有prev / next的jquery自动滑块

时间:2015-01-15 18:07:09

标签: javascript php jquery html css

我在jquery / css上看过许多带滑块的帖子。

我有一个数据库,我可以从中检索图像和文本的链接。

我想创建一个带有自动滚动的滑块类型的最近Feed部分,就像在许多网站上看到的一样。

我在stackoverflow http://jsfiddle.net/uXn2p/1/

上看到了这个例子

它使用溢出隐藏属性并动画滑动。

我添加了这段代码以使其自动化。

setInterval(function() {
 $(".list").delay( 800 ).animate({scrollLeft: "+=330"}, 'slow', "swing");
  $(".list").delay( 800 ).animate({scrollLeft: "+=330"}, 'slow', "swing");


 $(".list").delay( 800 ).animate({scrollLeft: "-=990"}, 'slow', "swing");

    }, 2000);

但是一旦这个动画开始,上一个/下一个按钮就会停止工作。我知道我做错了,对jquery不起作用。

这是什么? 我该如何纠正?

2 个答案:

答案 0 :(得分:3)

我已经调整了很多代码,但我认为我得到了你想要的东西。我离开了这个例子:http://jsfiddle.net/n8B2k/1/

我将html更改为以下内容,但它看起来一样。我还添加了删除" prev"的功能。按钮,当它一直向左,并删除"更多"按钮一直向右(如果你不喜欢,可以删除或修改它)。

<div id="slidesContainer">
  <div id="slideInner">
    <div class="slide">
        <div class="box">1</div>
        <div class="box">2</div>
        <div class="box">3</div>
    </div>
    <div class="slide">
        <div class="box">4</div>
        <div class="box">5</div>
        <div class="box">6</div>
    </div>
    <div class="slide">
        <div class="box">7</div>
        <div class="box">8</div>
        <div class="box">9</div>
    </div>
  </div>
</div>
<div id="slideShow">
  <button class="control" id="leftControl">prev</button>
  <button class="control" id="rightControl">more</button>
</div>

它不是您使用的确切动画,但您可以修改它。

这是我的小提琴:http://jsfiddle.net/uXn2p/124/

答案 1 :(得分:1)

我修改了这个例子http://jsfiddle.net/uXn2p/1/。希望它可以帮助您解决问题。

var myVar = setInterval(function() {
    $(".list").delay(800).animate({scrollLeft: "+=330"}, 'slow', "swing");
}, 2000);

$("#more").click(function() {
    clearInterval(myVar);
    $(".list").animate({scrollLeft: "+=330"}, 300, "swing");
    myVar = setInterval(function() {
        $(".list").delay(800).animate({scrollLeft: "+=330"}, 'slow', "swing");
    }, 2000);
});

$("#prev").click(function() {
    clearInterval(myVar);
    $(".list").animate({scrollLeft: "-=330"}, 300, "swing");
    myVar = setInterval(function() {
        $(".list").delay(800).animate({scrollLeft: "+=330"}, 'slow', "swing");
    }, 2000);
});
相关问题