Как только вы вызываете свою функцию, ваша переменная " this " изменяется:
function test() {
alert(this); // this will be the window object
}
$('p b').click(function() {
alert(this); // this will be the bold element object
test();
});
Например, запустив это на этой странице (используя firebug), я могу щелкнуть «просил» и «просмотрел» элементы справа вверху (они выделены жирным шрифтом) ... предупреждение от тестовой функции, где this - объект окна, not жирный элемент, как в обработчике событий.
Чтобы это исправить, просто передайте объект, над которым вы хотели бы поработать, через функцию:
options.imgs.click(function() {
var allImgs = $("#big img");
$("#big img").each(function(n) {
this.index = n;
})
animateImage(allImgs, this);
})
};
function animateImage(images, img) {
for(var i = 0; i < images.length; i++) {
if (images[i].index == 0) {
alert($(img).index)
}
}
}