我在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 () {...
答案 0 :(得分: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
...
};