逐步改变背景颜色

时间:2014-07-26 14:00:52

标签: javascript jquery html

下面有一个jquery代码。当用户点击.bx时它会做什么,它会克隆.bx并在点击.bx后将其隐藏。现在我想要的是当添加.bx.container的背景应该从浅到深(灰色)逐步。我的意思是当在第一个.bx之后添加第二个.container时,应该稍微更改它rgba的颜色。当添加第二个时,应该添加更多的颜色变化。我正在尝试a并更改<div class="container"> <div class="bx"></div> </div> 的值,但它不起作用(我不确定原因)。

我该如何使用?

这是JSFIDDLE

这是html

var rand = 0;
$('body').on('click', '.bx', function (e) {
        var clone = $(this).clone();

        $(this).after(clone);

        $('.container').css('background-color', 'rgba(0, 0, 0, ' + getRandom() + ')');
    });

function getRandom(min, max) {
    return rand + 0.01;
}

这是JS

{{1}}

3 个答案:

答案 0 :(得分:1)

你正在向rand添加0.01,但之后你没有增加rand,所以每次都返回相同的东西:

rand += 0.01; // increment and save
return rand; // then return

答案 1 :(得分:1)

您没有更新rand。我已经更新了你的jsFiddle:http://jsfiddle.net/5378W/3/

function getRandom(min, max) {
    rand += 0.01;
    return rand;
}

答案 2 :(得分:0)

试试这个:

  var rand = 0;
  $('body').on('click', '.bx', function (e) {
    var clone = $(this).clone();
    $(this).after(clone);
    rand = Math.floor(Math.random() * 254) + 1
    $('.container').css('background','rgb(255,'+getRandom(rand)+','+getRandom(rand)+')');
  });

  function getRandom(rand) {
   return parseInt(rand);
  }