jQuery - Как анимировать функцию клика без клика (как слайд-шоу) - Это возможно? - PullRequest
1 голос
/ 17 марта 2010

Я создал скрипт jQuery (с помощью), который прекрасно работает, однако мне нужно, чтобы он автоматизировал / анимировал себя без использования функции щелчка, я просто хочу знать, возможно ли это, и если да, то как? Похоже на слайд-шоу.

В основном код позволяет мне нажимать на изображение и скрывать / показывать DIV, изменяя список элементов, таких как имя класса / идентификатора.

Вот мой код:

Jquery:

jQuery(document).ready(function(){
    //if this is not the first tab, hide it
    jQuery(".imgs:not(:first)").hide();
    //to fix u know who
    jQuery(".imgs:first").show();
    //when we click one of the tabs
    jQuery(".img_selection a").click(function(){
        //get the ID of the element we need to show
        stringref = jQuery(this).attr("href").split('#')[1];

        // adjust css on tabs to show active tab
        $('.img_selection a').removeAttr('id'); // remove all ids
        $(this).attr('id', this.className + "_on") // create class+_on as this id.
        //hide the tabs that doesn't match the ID
        jQuery('.imgs:not(#'+stringref+')').hide();
        //fix
        if (jQuery.browser.msie && jQuery.browser.version.substr(0,3) == "6.0") {
            jQuery('.imgs#' + stringref).show();
        } else
            //display our tab fading it in
            jQuery('.imgs#' + stringref).show();
        //stay with me
        return false;
    });
});

Ответы [ 2 ]

2 голосов
/ 17 марта 2010

Это должно сделать это. Он получает все «вкладки» и щелкает им в круговом порядке с паузой в 2 секунды (2000 мс) между каждым кликом

var tabs = jQuery(".img_selection a");
var len = tabs.size();
var index = 1;
function automate() {
    tabs.eq((index%len)).trigger('click');
    index++;
}
var robot = setInterval(automate, 2000);

//if at some point you want to stop the automation just call
clearInterval(robot);

Сделал демо

http://jsbin.com/urulo/2/ (http://jsbin.com/urulo/2/edit для кода)

1 голос
/ 17 марта 2010

Ограничение времени выполнения функции в Javascript невозможно.

Но HTML5 привлекает веб-работников, которые в основном являются фоновыми работниками потоками. Возможно приостановить работу веб-работника через определенное время.

...