Reputation: 21
I want to fade in and out some images,randomly from when the page loads until closed. What I have so for. css
#block{position:relative;top:100px;left:100px;}
HTML
<div id="block">
<img src="images/block/blockone.jpg"width="95"height="95">
<img src="images/block/blocktwo.jpg"width="95"height="95">
//Five images as such
</div>
The script
function random(n){
return Math.floor(Math.random()*n);
var transition_time=500;
var waiting_time=500;
var images=$('div#block img');
var n=images.length;
var current=random(n);
images.hide();
images.eq(current).show();
var interval_id=setInterval(function(){
images.eq(current).fadeOut(transition_time,function(){current=random(n);
images.eq(current).fadeIn(transition_time);
});
},2*transition_time+waiting_time);
It is not working and I' really like to hear your advice
Upvotes: 1
Views: 1832
Reputation: 388316
There is a syntax error in the code, also move the code under dom ready hadnler
jQuery(function(){
function random(n) {
return Math.floor(Math.random() * n);
}// this was missing
var transition_time = 500;
var waiting_time = 500;
var images = $('div#block img').hide();
var n = images.length;
var current = random(n);
images.hide();
images.eq(current).show();
var interval_id = setInterval(function () {
images.eq(current).fadeOut(transition_time, function () {
current = random(n);
images.eq(current).fadeIn(transition_time);
});
}, 2 * transition_time + waiting_time);
})
Demo: Fiddle
Upvotes: 4