将自动播放+ prev& next按钮添加到滑块

时间:2014-04-05 02:25:34

标签: javascript jquery

我正在使用codrops教程http://tympanus.net/codrops/2014/03/13/tilted-content-slideshow/comment-page-2/#comment-458990中解释的滑块。

它使用一个简单的有序列表来显示幻灯片:

<div class="slideshow" id="slideshow">
  <ol class="slides">
    <li class="current">
      <div class="description">
        <h2>Slide 1 Title</h2>
        <p>Slide 1 content</p>
      </div>
      <div class="tiltview col">
        <a href="http://grovemade.com/"><img src="img/1_screen.jpg"/></a>
        <a href="https://tsovet.com/"><img src="img/2_screen.jpg"/></a>
      </div>
    </li>
    <li>
      <div class="description">
        <h2>Slide 2 title</h2>
        <p>Slide 2 content</p>
      </div>
      <div class="tiltview row">
        <a href="http://pexcil.com/"><img src="img/3_mobile.jpg"/></a>
        <a href="http://foodsense.is/"><img src="img/4_mobile.jpg"/></a>
      </div>
    </li>
  </ol>
</div><!-- /slideshow -->

然后使用javascript创建导航,此导航显示一组点击时显示幻灯片:

TiltSlider.prototype._addNavigation = function() {
// add nav "dots"
this.nav = document.createElement( 'nav' )
var inner = '';
for( var i = 0; i < this.itemsCount; ++i ) {
    inner += i === 0 ? '<span class="current"></span>' : '<span></span>';
}
this.nav.innerHTML = inner;
this.el.appendChild( this.nav );
this.navDots = [].slice.call( this.nav.children );

}

TiltSlider.prototype._initEvents = function() {
var self = this;
// show a new item when clicking the navigation "dots"
this.navDots.forEach( function( dot, idx ) {
    dot.addEventListener( 'click', function() {
        if( idx !== self.current ) {
            self._showItem( idx );
        }
    } );
} );

}

一切正常,但有没有人知道我怎么能在这个滑块上添加自动播放和prev&amp; next按钮?

1 个答案:

答案 0 :(得分:5)

您可以使用jquery手动创建自动播放功能。我的代码将在10秒后调用每张幻灯片。 (即)10秒后调用下一个滑块

$(document).ready(function(){
        new TiltSlider( document.getElementById( 'slideshow' ) );               
        window.setInterval(function(){              
            $('nav>.current').next().trigger('click');
            if($('nav > .current').next().index() == '-1'){
                $('nav > span').trigger('click');
            }               
        }, 10000);

        });