Javascript Math.random()生成单个随机数
我正在创建一个键盘,在按键时创建div。我已经计算出键盘部分,我希望每个div都随机放置,同时仍然按字母进行聚类。我试图通过向现有的.aclass top和left样式中添加一个介于1和20之间的随机整数来实现这一点Javascript Math.random()生成单个随机数,javascript,jquery,random,Javascript,Jquery,Random,我正在创建一个键盘,在按键时创建div。我已经计算出键盘部分,我希望每个div都随机放置,同时仍然按字母进行聚类。我试图通过向现有的.aclass top和left样式中添加一个介于1和20之间的随机整数来实现这一点 var min=1; var max=20; var random = Math.floor(Math.random() * (+max - +min) + +min); var newtopa= $('.a').position().top + random; var ne
var min=1;
var max=20;
var random = Math.floor(Math.random() * (+max - +min) + +min);
var newtopa= $('.a').position().top + random;
var newlefta = $('.a').position().left + random;
function createElement(k) {
if (k == "a" || k == "A") {
$(".aclass").append('<div class="a" style="top:'+newtopa+'px;left:'+newlefta+'px;"></div>');
}
然而,我的Math.random行只返回一个随机数。每次我按下“a”键并创建一个div,它都会被放置在同一个位置,而不是随机放置。您在createElement函数之外声明了随机数,因此您只创建一个,然后每次调用createElement时使用它
var min=1;
var max=20;
function createElement(k) {
var random = Math.floor(Math.random() * (+max - +min) + +min);
var newtopa= $('.a').position().top + random;
var newlefta = $('.a').position().left + random;
if (k == "a" || k == "A") {
$(".aclass").append('<div class="a" style="top:'+newtopa+'px;left:'+newlefta+'px;"></div>');
}
另外,您没有指定newtopa和newlefta应该给出什么,但是目前您只需要获得该类中第一个元素的位置,这似乎不太可能是您想要的。您在createElement函数之外声明了随机数,所以您只创建了一个,然后在每次调用createElement时使用它
var min=1;
var max=20;
function createElement(k) {
var random = Math.floor(Math.random() * (+max - +min) + +min);
var newtopa= $('.a').position().top + random;
var newlefta = $('.a').position().left + random;
if (k == "a" || k == "A") {
$(".aclass").append('<div class="a" style="top:'+newtopa+'px;left:'+newlefta+'px;"></div>');
}
另外,您没有指定newtopa和newlefta应该给出什么,但目前您只需获得该类中第一个元素的位置,这似乎不太可能是您想要的。这是因为这样做只需调用Math.random函数一次,而你需要在每次按键时生成一个随机数
您可以通过确保每次运行createElement时都执行Math.random来尝试这样做 这是因为这样做只需调用Math.random函数一次,而每次按键时都需要生成一个随机数 您可以通过确保每次运行createElement时都执行Math.random来尝试这样做