2011-01-31 56 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}); 

取决于你在做什么,你也可能要隐藏或一旦完成与定时器卸载电影。

相关问题