使用JQuery随机显示div类

时间:2013-08-27 22:37:46

标签: javascript jquery html dom

我想使用JQuery随机显示div类。代码类似于:

<div class="item">One</div>
<div class="item">Two</div>
<div class="item">Three</div>
<div class="item">Four</div>

因此,如果随机方法(随机结果在1到4之间)给出3作为结果,则显示:

<div class="item">Three</div>

其余的都是隐藏的。当然,可以更改代码以使其工作。感谢。

5 个答案:

答案 0 :(得分:25)

首先我们得到一个随机的int,从零到项目数(减去1)。 然后我们隐藏所有其他元素并显示随机选择的元素。

var random = Math.floor(Math.random() * jQuery('.item').length);
jQuery('.item').hide().eq(random).show();

<强> Demo

答案 1 :(得分:3)

var number = Math.floor(Math.random()*3)
var div = $(".item")[number];
div.show();

答案 2 :(得分:2)

类似的东西:

$('.item').hide().eq(Math.floor(Math.random()*4)).show()

小提琴:http://jsfiddle.net/PPXmE/

答案 3 :(得分:2)

工作示例:jsFiddle

JS

window.onload=function() {
  var E = document.getElementsByClassName("item");
  var m = E.length;
  var n = parseInt(Math.random()*m);
  for (var i=m-1;i>=0;i--) {
      var e = E[i];
      e.style.display='none';
  }
  E[n].style.display='';
}

js.minified

window.onload=function(){var E=document.getElementsByClassName("item");var m=E.length;var n=parseInt(Math.random()*m);for(var i=m-1;i>=0;i--){var e=E[i];e.style.display='none';}E[n].style.display='';}

的HTML

<div class="item">One</div>
<div class="item">Two</div>
<div class="item">Three</div>
<div class="item">Four</div>
<div class="item">Five</div>
<div class="item">Six</div>
<!-- Add as many as you want! //-->

答案 4 :(得分:0)

使用setInterval函数。

工作示例:http://jsfiddle.net/a0c0ntjc/

setInterval(function(){
        var E=document.getElementsByClassName("item");
        var m=E.length;
        var n=parseInt(Math.random()*m);for(var i=m-1;i>=0;i--){
            var e=E[i];e.style.display='none';
        }
        E[n].style.display='';
},3000);