¿Reemplazar el evento de clic de Javascript con un evento cronometrado?

Encontré un código javascript que coloca las fotos una encima de la otra cuando haces clic en ellas.

En lugar de tener que hacer clic, me gustaría que la función se ejecute automáticamente cada 5 segundos. ¿Cómo puedo cambiar este evento a uno cronometrado?

$('a#nextImage, #image img').click(function(event){ 

Código completo a continuación. Gracias

$(document).ready(function() {
    $('#description').css({ 'display': 'block' });
    $('#image img').hover(
        function() { $(this).addClass('hover'); },
        function() { $(this).removeClass('hover'); }
    );

    $('a#nextImage, #image img').click(function(event) {
        event.preventDefault();
        $('#description p:first-child').css({ 'visibility': 'hidden' });
        if($('#image img.current').next().length) {
            $('#image img.current').removeClass('current').next().fadeIn('normal').addClass('current').css({ 'position': 'absolute' });
        }
        else{
            $('#image img').removeClass('current').css({ 'display': 'none' });
            $('#image img:first-child').fadeIn('normal').addClass('current').css({ 'position': 'absolute' });
        }

        if($('#image img.current').width() >= ($('#page').width() - 100)) {
            xPos = 170;
        }
        else {
            do {
                xPos = 120 + (Math.floor(Math.random() * ($('#page').width() - 100)));
            } while(xPos + $('#image img.current').width() > $('#page').width());
        }
        if($('#image img.current').height() >= 300) {
            yPos = 0;
        }
        else{
            do {
                yPos = Math.floor(Math.random() * 300);
            } while(yPos + $('#image img.current').height() > 300);
        }
        $('#image img.current').css({ 'left' :xPos, 'top' :yPos });
    });
});

preguntado el 09 de enero de 11 a las 00:01

2 Respuestas

Probaría la función setInterval. Ejecuta algo cada N milisegundos. Parece que:

setInterval(function() {
  alert('5 seconds over!');
}, 5000);

Respondido el 09 de enero de 11 a las 07:01

$(document).ready(function() {
    $('#description').css({ 'display': 'block' });
    $('#image img').hover(
        function() { $(this).addClass('hover'); },
        function() { $(this).removeClass('hover'); }
    );

    setInterval(function() {
        $('#description p:first-child').css({ 'visibility': 'hidden' });
        if($('#image img.current').next().length) {
            $('#image img.current').removeClass('current').next().fadeIn('normal').addClass('current').css({ 'position': 'absolute' });
        }
        else{
            $('#image img').removeClass('current').css({ 'display': 'none' });
            $('#image img:first-child').fadeIn('normal').addClass('current').css({ 'position': 'absolute' });
        }

        if($('#image img.current').width() >= ($('#page').width() - 100)) {
            xPos = 170;
        }
        else {
            do {
                xPos = 120 + (Math.floor(Math.random() * ($('#page').width() - 100)));
            } while(xPos + $('#image img.current').width() > $('#page').width());
        }
        if($('#image img.current').height() >= 300) {
            yPos = 0;
        }
        else{
            do {
                yPos = Math.floor(Math.random() * 300);
            } while(yPos + $('#image img.current').height() > 300);
        }
        $('#image img.current').css({ 'left' :xPos, 'top' :yPos });
    }, 5000);
});

Respondido el 09 de enero de 11 a las 12:01

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.