2010-11-08 98 views
1

我希望暫停幻燈片放映約4秒鐘,在恢復之前不顯示任何幻燈片。這可能嗎?我試圖用下面的代碼自己做這件事,但它似乎沒有工作。JQuery週期暫停

$(document).ready(function() { 
     $('#homeSlideshowWrapper').cycle({ 
      fx: 'fade', 
      timeout: 4000, 
      after: onBefore 
     }); 

     function onBefore() { 
      $('#homeSlideshowWrapper').cycle('pause') 
      $('#homeSlideshowWrapper').delay(5000).cycle('resume') 

     } }); 

感謝

盧克斯特拉頓

回答

0

你能用的setTimeout實現這一目標?

E.g.

function onBefore() { 
    $('#homeSlideshowWrapper').cycle('pause'); 
    $('selector-for-active-slide').css('visibility', 'hidden'); // If you wish the slide to disappear, not sure what you mean by "no slide displayed before resuming" 
    setTimeout(resumeSlideshow, 5000); 
} 
function resumeSlideshow() { 
    $('#homeSlideshowWrapper').cycle('resume'); 
    $('selector-for-active-slide').css('visibility', 'visible'); 
} 
1

首先,你在onbefore函數中缺少兩個命令的分號。其次,你在document.ready中聲明瞭一個函數,它真的不應該在任何函數中。第三,你應該使用.css(display,'none')來暫停幻燈片顯示(如果這就是你在恢復之前沒有顯示任何幻燈片的意思,如果沒有擺脫hide()和show()行結束)。試試這個:

$(document).ready(function() { 
    var onBefore= function() { 
     $('#homeSlideshowWrapper').cycle('pause').hide(); 
     $('#homeSlideshowWrapper').delay(5000).cycle('resume').show(); 
    }; 

    $('#homeSlideshowWrapper').cycle({ 
     fx: 'fade', 
     timeout: 4000, 
     after: onBefore 
    }); 

}); 

這可能不完美,但應該會好一點。