2011-01-31 92 views

回答

0

你可以用jquery的子功能來試試它。

例子:

function getRandomElement() { 
     var amount = $('body').children().length; 
     var randomNumber = Math.floor(Math.random()*amount); 
     return $('body').children().get(randomNumber); 
} 

UPDATE

我不知道我理解你的權利。 但是當你想顯示一個隨機元素,像這樣做:

var random = getRandomElement(); 
random.show(); 
+0

那麼我究竟如何將Flash元素放在頁面上呢? – iamwhitebox 2011-01-31 02:50:38

1

嗯,因爲我覺得這個插件需要的所有元素出現在頁面上我不會採取這種方法。因此,如果您有10個Flash視頻隨機發布,那麼您必須將它們全部加載到頁面上,以便實現大頁面或實際上長的頁面加載時間。

鑑於您在頁面加載時正在執行此操作,您不會簡單地在您的代碼中選擇隨機項目並僅將一個Flash視頻發送到頁面嗎?

1

我喜歡Schattenbaum的答案,它處理隨機顯示孩子的問題,但它不能解決必須先加載Flash影片並放慢頁面速度的問題。這裏是我發現加載/卸載Flash文件有用的東西:http://jquery.thewikies.com/swfobject/examples

首先,您必須下載swfobject插件,然後使用.flash()而不是.show()加載Flash。

例如:

function getRandomElement() { 
    var amount = $('body').children().length; 
    var randomNumber = Math.floor(Math.random()*amount); 
    return $('body').children().get(randomNumber); 
} 

...

var random = getRandomElement(); 
random.flash({swf: 'flash_file.swf',height: 100,width: 100}); 

取決於你在做什麼,你也可能要隱藏或一旦完成與定時器卸載電影。

相關問題