使用javascript

时间:2017-10-19 09:34:36

标签: javascript html css random

我正在寻找一种在html div上生成随机位置的方法。我创建了一个javascript函数,如下所示:

function randomInRange(min, max) {
    return(Math.floor((Math.random() * (max - min) + 1) + min));    
}  

我想通过将left和top属性更改为(position:relative; left:0px; top:0px)随机生成的数字,在div的css中生成一个随机位置。我似乎无法找到最大和最大函数的最小值,因为div使用宽度的百分比。

div的css:

#stage {
    float: left;
    background-color: pink;
    width: 100%;
    height: 70%;
}

单击某个按钮时执行该功能

var button = document.getElementById("button");

button.onclick = function () {
    shape.style.left = randominrange(0, stage.style.width);
    shape.style.top = randominrange(0, stage.style.height);   
}
//the shape is a circle div that shows where the generated point is

我刚刚开始使用javascript几天前似乎无法找到一种方法

3 个答案:

答案 0 :(得分:0)

最小值为0,最大值为元素的适当宽度和高度属性。 See here for an understanding of the different width properties

我认为您需要element.outerWidth(true)element.outerHeight(true)

答案 1 :(得分:0)

var stage = document.getElementById('stage');
var stageWidth = stage.offsetWidth;
var stageHeight = stage.offsetHeight

现在你可以使用stageWidth& stageHeight用于函数调用

答案 2 :(得分:0)

使用clientWidthclientHeight代替widthheight

button.onclick = function () {
    shape.style.left = randominrange(0, stage.style.clientWidth);
    shape.style.top = randominrange(0, stage.style.clientHeight);   
}

这是clientHeight vs offsetHeight

之间的差异