我无法生成将X放在框内随机位置的值。知道什么是错的吗?
var putAnXBtn = document.getElementById("putAnXButton");
putAnXBtn.onclick = function(){
var theBox = document.getElementById("putAnX");
// width and height of the box
var width = theBox.clientWidth;
var height = theBox.clientHeight;
var yPosition = Math.random()* width; // Not able to generate a value between 0 and the height
var xPosition = Math.random()* height; //Not able to generate a value between 0 and the width
var theXElement = document.getElementById("theX");
theXElement.innerHTML="X";
theXElement.style.top = parseInt(yPosition)+'px';
theXElement.style.left = parseInt(xPosition)+'px';
}
答案 0 :(得分:0)
我建议使用
Math.floor(Math.Random() * width)
Math.floor(Math.Random() * height)
另外,在生成随机位置时,您的height
和width
会被反转。
改变这个:
var yPosition = Math.random() * width;
var xPosition = Math.random() * height;
到此:
var yPosition = Math.floor(Math.random() * height);
var xPosition = Math.floor(Math.random() * width);
否则X可以在容器边界之外创建。
FIDDLE http://jsfiddle.net/9t46F/