0

我在 jquery 中有一个 onload 函数,例如:

$(function () {
    $('.over').hover(function () {

            //FIRST PARAMETER RIGT, LEFT, TOP, BOTTOM
        if ($(this).attr('data-direction') == 'right') {
            $(this).addClass('flipping-right');
        }   
        else if ($(this).attr('data-direction') == 'left') {
            $(this).addClass('flipping-left');
        }
        else if ($(this).attr('data-direction') == 'top') {
            $(this).addClass('flipping-top');
        }
                 //ETC.

    //SECOND gal1,gal2,gal3,gal4
    if ($(this).attr('gal') == 'gal1'){    
        img = $(this).find('img');
        setTimeout(function() {
           img.attr('src', arrFirstYellowCard[i]);
           i++;
           if(i > arrFirstYellowCard.length-1)
              i=0;
       }, 100);
    }

    else   if ($(this).attr('gal') == 'gal2'){    
        img = $(this).find('img');
        setTimeout(function() {
           img.attr('src', arrSecondPurpleCard[j]);
           j++;
           if(j > arrSecondPurpleCard.length-1)
              j=0;
       }, 100);
    }  

我想要一个函数每秒执行一次该函数,但使用数组中的参数,例如

var array_param = ["right,gal1","top,gal3","bottom,gal4","left,gal2","right,gal5"];

哪些是允许的组合

我想要一个计时器,所以每个参数每秒都会被调用一次

var timer = $.timer($('.over').hover(array_param( 0 ) ), 1000);
timer.play();

但我不知道如何实现此功能,以及如何将参数添加到 onload 中分配的函数:

$(function () { $('.over').hover(function () {...

请看看我的jsfiddle

4

1 回答 1

1

您无法再次触发准备就绪。您可以创建一个命名函数并将其称为一堆。

$(function () {
    index = 0;
    window.setInterval(function () {
        if (index > array_param.length) index = 0;
        myFunction(array_param[index++]);
    }, 1000); // call myFunction every second
});

myFunction = function (image) {
    $('.over').hover(function () {
        // rest of your code goes here
        ...
};
于 2013-03-14T16:25:22.260 回答