gpt4 book ai didi

javascript - 随机未定义

转载 作者:行者123 更新时间:2023-12-01 02:51:00 27 4
gpt4 key购买 nike

我有一个使用 Math.random 生成随机 id 的模态。

    function new_modal(head, content, button){

var random = Math.floor(1000 + Math.random() * 9000);

var modal_html = '<div id="myModal_'+ random +'">' +
'<div id="outer">' +
'<div id="inner">' +
'<div id="top">'+head+'</div>' +
'<span class="bOk"><img class="btnClose" src="#"></span>' +
'<div class="modalCnt">'+content+'</div>' +
button +
'</div> <!-- Inner -->' +
'</div> <!-- Outer -->' +
'</div>';

$('body').append(modal_html);
// Close the Modal
$('#myModal_'+ random +' span').on('click', closeFunction);
return 'myModal_' + random;

}

我有一个关闭函数,但是当它运行时,当警报(这是真的)下的代码运行时,它会给我“随机未定义”。这是为什么?当代码位于 new_modal 函数下时,它工作得很好,但是当我将它放在该函数之外并放入其自己的函数中时,它不起作用。

    function closeFunction() {
var check = $(this);
if(check.hasClass("bOk") || check.hasClass("btnText") === true) {
alert("It's true");
$(this).closest('#myModal_'+ random).hide();
}
else {
alert("It's false, do something else");
return false
}
}

最佳答案

它被称为变量作用域。 :)如果您在一个函数内声明一个变量(使用 var 关键字),则该变量将无法在另一个函数中访问。如果您想在两个函数中使用相同的随机数,请全局声明它(在函数之前)或通过参数传递它。

https://www.w3schools.com/js/js_scope.asp

关于javascript - 随机未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46975136/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com