this
в обратном вызове setTimeout
отличается от внешнего.
var self = this;
setTimeout(function(){
$(self).fadeIn(750);
}, 100000000);
Хотя вы могли бы просто использовать .delay()
.
$(this).delay(100000000).fadeIn(750)
В целом, лучше всего использовать .eq()
для захвата того, который вы хотите .fadeIn()
, а .fadeOut()
для остальных.
function transition(index){
var images = $("#right-panel").find("img");// get all the images
var fadein = images.eq(index)
.delay(100000000)
.fadeIn(750); // fadeIn the one at "index"
images.not(fadein).fadeOut(750); // fadeOut all the others
}