每按一次按钮获取随机数

时间:2015-02-13 19:22:10

标签: javascript jquery

每次有人点击按钮时,我都会尝试获取随机数。数字的范围是从一(1)到五(5)。如果已经询问并回答了这个问题,请指出我的问题,我会删除这个问题以避免重复。

HTML

<div id="content"></div>
<button id="add">Add Object</button>

JS

$(document).ready(function(){
    var Player = {
        name: "One",
        weapon: Sword = {
            damage: 1 + Math.floor(Math.random() * 5),
            speed: 10
        }
    }
    var player_damage = Player.weapon.damage;

    $("#add").on("click", function(){
        $("#content").append(player_damage + " ");
    })
})

Fiddle

4 个答案:

答案 0 :(得分:3)

您不会在点击时更新您的号码。你只设置一次。

var Player = {
  name: "One",
  weapon: Sword = {
    damage: 0,
    speed: 10
  }
}

$("#add").on("click", function(){
  Player.weapon.damage = 1 + Math.floor(Math.random() * 5);
  $("#content").append(Player.weapon.damage + " ");
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="content"></div>
		<button id="add">Add Object</button>

答案 1 :(得分:2)

在点击功能中生成新号码:

 $("#add").on("click", function(){
            var damage= 1 + Math.floor(Math.random() * 5);
            $("#content").append(damage.toString() + " ");
        })

jsfiddle

答案 2 :(得分:0)

我使用Sword对象上的JavaScript属性更新了它。每当访问damage属性时,它都会使用getter生成一个新值:

http://jsfiddle.net/hd7tec5f/3/

Object.defineProperty(Sword, "damage", {
    get: function() {
        return 1 + Math.round(Math.random() * 1));
    }
});

答案 3 :(得分:0)

$(document).ready(function(){
   $("#add").on("click", function(){
        var Player = {
            name: "One",
            weapon: Sword = {
                damage: 1 + Math.floor(Math.random() * 5),
                speed: 10
            }
        };

        var player_damage = Player.weapon.damage;                                           
        $("#content").append(player_damage + " ");
    })
});

http://jsfiddle.net/manzapanza/rayn6m4L/