2010-08-18 62 views
0

這是HTML代碼。如何通過使用jquery淡入淡出來隨機顯示圖像?

<div id="Slogan"> 
<h1> 
<img src="img1.gif" /> 
<img src="img2.gif" /> 
<img src="img3.gif" /> 
<img src="img4.gif" /> 
<img src="img5.gif" /> 
</h1> 
</div> 

#slogan {float:left;position:relative;width:100%;} 

我想隨機顯示所有圖像,但像幻燈片放映一樣,具有淡入淡出效果。如何處理jQuery?

我需要最輕鬆的方法。

回答

0

所以這是一個非常酷的插件,它可以(也可能不會,這取決於如何照亮你想要它),你想要什麼,它叫Nivo Slider,它有不同的轉換的負載,但on my website我選擇使用淡入淡出淡出,這是非常定製

http://nivo.dev7studios.com/

+0

plugin s heavy。我們可以做得更簡單嗎? – 2010-08-18 11:28:08

+0

我擔心它可能不夠簡單,如果你看看他們如何實現淡入淡出,他們基本上設置容器div的背景圖像,然後循環顯示和隱藏每個圖像(淡入淡出效果)。 – 2010-08-18 11:48:03

1
// Define a random integer function 
function random(n){ 
    return Math.floor(Math.random() * n); 
} 

// Define some variables, hide all images and show just one of them. 
var transition_time = 500; 
var waiting_time = 500; 
var images = $('div#Slogan img'); 
var n = images.length; 
var current = random(n); 
images.hide(); 
images.eq(current).show(); 

// Periodically, we fadeOut the current image and fadeIn a random one 
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); 

// You can then stop the effect with: 
// clearInterval(interval_id); 
+0

嘿艾瑞克,這是一個很棒的劇本。你知道是否有辦法阻止同一張圖片連續兩次出現?非常感謝 – SparrwHawk 2011-12-03 15:33:48