在页面刷新时随机化元素

时间:2011-01-31 00:11:19

标签: jquery plugins random

当用户访问某个页面时,是否有人知道如何利用jQuery进行随机化(例如flash视频)?我会使用http://plugins.jquery.com/project/random_element这个插件吗?

请帮忙!

3 个答案:

答案 0 :(得分:1)

嗯,我不会采用这种方法,因为我认为这个插件需要在页面上显示所有元素。因此,如果您有10个Flash视频随机化,那么您将不得不将它们全部加载到页面上,从而形成可能较大的页面或(实际上)较长的页面加载时间。

鉴于您是在页面加载时执行此操作,您是不是只需在后面的代码中选择随机项并仅向页面发送一个Flash视频?

答案 1 :(得分: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});

根据您的操作,您可能还必须在完成后使用计时器隐藏或卸载该影片。

答案 2 :(得分:0)

您可以使用jquery的children函数进行尝试。

示例:

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

<强>更新

我不知道我是否理解你。 但是当你想要显示一个随机元素时,就这样做:

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