我怎么能随机批量更改jquery中的div?

时间:2015-02-02 10:17:54

标签: jquery setinterval opacity

这是一个jsfiddle:

http://jsfiddle.net/zyqqLtk4/

基本上我有一个闪烁的div,因为生成随机数时,不透明度设置为<然后0.5 - > 0,else = 1.0。 我怎么能使用以下内容:

var opacity = 0;
var myVar = setInterval(function () {
    opacity = Math.random();
    if (opacity > 0.5) {
        opacity = 1;
    } else {
        opacity = 0;
    }
    $('.point1').css('opacity', opacity);

}, 50);

但是在例如100个div上,每个div都是一个完全不同的随机值(意味着它们没有被相同的二进制不透明度绑定在一起)。

谢谢!

2 个答案:

答案 0 :(得分:3)

您可以使用jQuery's each() method遍历每个.point1元素,然后将opacity分别应用于每个元素:

$('.point').each(function() {
    $(this).css({ opacity: Math.random() > 0.5 ? 1 : 0 });
});

JSFiddle demo

代码段



$('.point').each(function() {
    $(this).css({ opacity: Math.random() > 0.5 ? 1 : 0 });
});

@import url(http://fonts.googleapis.com/css?family=Roboto+Condensed:400,300|Roboto:400,300,100,500|Dancing+Script:400,700);
.point {
    width: 10px;
    height: 10px;
    background-color: Black;
    border-radius: 5px;
    margin: 0px;
    display: inline-block;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="point"></div>
<div class="point"></div>
<div class="point"></div>
<div class="point"></div>
<div class="point"></div>
<div class="point"></div>
<div class="point"></div>
<div class="point"></div>
<div class="point"></div>
<div class="point"></div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您可以使用.each()迭代一组元素,如

$('.point').each(function() {
  var $this = $(this);
  var myVar = setInterval(function() {
    $this.css('opacity', Math.round(Math.random()));

  }, 50);
})
@import url(http://fonts.googleapis.com/css?family=Roboto+Condensed:400, 300|Roboto:400, 300, 100, 500|Dancing+Script:400, 700);
 .point {
  width: 10px;
  height: 10px;
  background-color: Black;
  border-radius: 5px;
  margin: 0px;
  display: inline-block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="point"></div>
<div class="point"></div>
<div class="point"></div>
<div class="point"></div>
<div class="point"></div>