2013-11-23 75 views
0

我使用Lemmon Juice slider由于具有可变宽度的图像,它工作正常,除了我不能让自动播放工作。它移动一个图像然后停止 - 这是使用'slideToLast' : true或'infinite' : true。手动控件按预期工作。是否有我失踪的东西会让这个旋转木马无限地自动播放,而不是在移动一张幻灯片后停下来?Lemmon滑块自动播放只移动一个,然后停止

HTML:

<div id="slider1" class="slider"> 
    <ul> 
     <li> 
     <img src="http://domain.com/slide/image1.jpg"/>    

     <span class="caption"> 
     some caption here 
     </span> 

     </li> 

     <li> 
     <img src="http://domain.com/slide/image2.jpg"/>    

     <span class="caption"> 
     2nd caption here 
     </span> 

     </li> 

     <li> 
     <img src="http://domain.com/slide/image3.jpg"/>    

     <span class="caption"> 
     3rd caption here 
     </span> 

     </li> 

    </ul> 
</div> 

JS:

// home page slider 
var sliderTimeout; 
window.onload = function(){ 

    $('#slider1').lemmonSlider({ 
     'infinite' : true 
     /*'slideToLast' : true*/ 
    }); 

    // run 
    sliderAutoplay(); 
    } 
    // slider autoplay function 
    function sliderAutoplay(){ 

     $('#slider1').trigger('nextSlide'); 
     sliderTimeout = setTimeout('sliderAutoplay', 1500); 

    } 
    // pause slider function 
    function sliderPause(){ 

     clearTimeout(sliderTimeout); 
} 

回答

0

后发现另一杯咖啡的解决方案。原来该页面上的文档不是100%准确的。我做了一个查看源,看看自动播放滑块实际上是如何工作的。

对我来说,工作jQuery是:

window.onload = function(){ 

     // home page slider 
     $('#slider1').lemmonSlider({ infinite: true }); 
     sliderAutoplay(); 
     $('#slider3-play').click(function(){ 
      if (sliderTimeout == null){ 
       sliderAutoplay(); 
      } 
      return false; 
     }); 

// this part in original page, but I don't really need it 
     $('#slider3-pause').click(function(){ 
      clearTimeout(sliderTimeout); 
      sliderTimeout = null; 
      return false; 
     }); 


    } 
    // autoplay 
    var sliderTimeout = null; 
    function sliderAutoplay(){ 

     $('#slider1').trigger('nextSlide'); 
     sliderTimeout = setTimeout('sliderAutoplay()', 3500); 

    } 

希望这可以帮助别人出未来。