JQuery我的函数只运行一次

时间:2017-11-23 16:46:50

标签: javascript java jquery

我试图制作选择随机位置的功能,并在出现提示时显示。按下按钮时,它只运行一次。

$(".place").hide();

var randomNumber = Math.floor(Math.random()*44);



$("#button").click(function() {
    "use strict";
    $("#place"+randomNumber).show("slow", function(){
        alert=("New Place");
    });
});

3 个答案:

答案 0 :(得分:1)

您需要为每次点击生成一个新的随机数

$("#button").click(function() {
    "use strict";
    var randomNumber = Math.floor(Math.random()*44);
    $("#place"+randomNumber).show("slow", function(){
        alert=("New Place");
    });
});

如果您希望隐藏其他人,请修改为:

$('.place').hide().filter("#place"+randomNumber).show...

答案 1 :(得分:0)

您只设置了randomNumber一次。为了在用户点击#button时生成新的随机数,您可以使randomNumber成为一个函数:

$(".place").hide();

function randomNumber() {
    return Math.floor(Math.random()*44);
}

$("#button").click(function(){
    "use strict";
    $("#place"+ randomNumber()).show(
    "slow", function(){
        alert=("New Place");
    });
});

答案 2 :(得分:0)

一旦定义,randomNumber将始终相同。 将其移动到点击处理程序中。

$(".place").hide();

$("#button").click(function() {
    "use strict";
    var randomNumber = Math.floor(Math.random()*44); // <---
    $("#place"+randomNumber).show("slow", function(){
        alert=("New Place");
    });
});
相关问题