2011-03-24 3 views
0

Я пытаюсь сделать слайд-шоу jquery, слайд-шоу имеет .click функцию, так что в основном, если я нажму на стрелки, это приведет меня к следующему слайду или предыдущему, но мне нужно сделать это слайд автоматически, если никто не кликает, так что я был просто интересно, если я могу использовать, если заявление так что смотрите, если его щелкнул переход к следующему слайду, если не сделать это автоматически через 5 секунд,jQuery slideshow

спасибо за помощь

// Create event listeners for .controls clicks 
    jQuery('.control') 
    .bind('click', function(){ 
    // Determine new position 
     currentPosition = (jQuery(this).attr('id')=='right_arrow') 
    ? currentPosition+1 : currentPosition-1; 

     // Hide/show controls 
     manageControls(currentPosition); 
     // Move slideInner using margin-left 

     jQuery('#slideInner').animate({ 
     'marginLeft' : slideWidth*(-currentPosition) 
     }); 
    }); 

    var interval = setInterval(function() { 

    // Move slideInner using margin-left 
    jQuery('#slideInner').animate({ 
     'marginLeft' : slideWidth*(-currentPosition) 
     }); 
    },5000); 

    currentPosition = currentPosition + 1; 

    //clear the interval 
    clear(); 

    function clear() { 
    if(position==numberOfSlides-1) { 
     clearInterval(interval);  
    } 
    } 

    // manageControls: Hides and shows controls depending on currentPosition 
    function manageControls(position){ 
    // Hide left arrow if position is first slide 
    if(position==0){ jQuery('#left_arrow').hide() } 
    else{ jQuery('#left_arrow').show() } 
    // Hide right arrow if position is last slide 
    if(position==numberOfSlides-1){ jQuery('#right_arrow').hide() } 
    else{ jQuery('#right_arrow').show() } 
    } 
    }); 

ответ

0

Вы используете таймеры для такого рода вещей.

Пример:

var doSlide = function(){ 
    //code here... 
} 
myTimer = setTimeout(doSlide,5000); 
$('#leftarrow').add('#rightarrow').click(function(){ 
    //stop the timer from counting 
    clearTimeout(myTimer); 
    //go to the next or prev slide 
    doSlide(); 
} 

Делая это, когда пользователь нажимает на одну из стрелок, он будет скользить один раз и остановить скольжение автоматически и позволяет пользователю читать (или смотреть?) Все, что в скользнул он.

Кстати: для выбора элементов с помощью jQuery вы можете использовать псевдоним $, как показано в моем примере.