当用户点击提交按钮时,我正在尝试显示加载微调器。我尝试实施here提供的解决方案,但它不起作用。
我已经验证了该函数正在被调用,并且jQuery通过抛出警告(spinner.innerHTML)来找到目标div,如下所示:
<script type="text/javascript">
$(document).ready(function () {
var spinner = $("div#spinner");
});
var spinnerVisible = false;
function showProgress() {
if (!spinnerVisible) {
alert(spinner.innerHTML);
spinner.show();
spinnerVisible = true;
}
};
function hideProgress() {
if (spinnerVisible) {
spinner.hide();
spinnerVisible = false;
}
};
</script>
正如预期的那样,当我点击我的按钮时,我会看到一个警告窗口,其中包含文本“Loading ...”,这是我div中的文字。但是,如果我在 spinner.show(); 之后添加第二个警告,则不会弹出,这会让我相信对 spinner.show(); 导致jQuery失败。
这是我第一次涉足jQuery,所以我正在努力解决这个问题并找出问题所在。
答案 0 :(得分:1)
根据调试程序,看起来你的项目没有包含jQuery库。
请在项目中启用jQuery以使用jQuery功能。
答案 1 :(得分:0)
你应该正确定义微调器(即全局)
<script type="text/javascript">
var spinner;
$(document).ready(function () {
spinner = $("div#spinner");
});
var spinnerVisible = false;
function showProgress() {
if (!spinnerVisible) {
alert(spinner.innerHTML);
spinner.show();
spinnerVisible = true;
}
};
function hideProgress() {
if (spinnerVisible) {
spinner.hide();
spinnerVisible = false;
}
};
</script>
答案 2 :(得分:0)
您正在尝试访问spinner变量,而不在函数中具有范围。
<script type="text/javascript">
$(document).ready(function () {
var spinner = $("div#spinner");
});
var spinnerVisible = false;
function showProgress() {
var spinner = $("div#spinner");
if (!spinnerVisible) {
alert(spinner.innerHTML);
spinner.show();
spinnerVisible = true;
}
};
function hideProgress() {
var spinner = $("div#spinner");
if (spinnerVisible) {
spinner.hide();
spinnerVisible = false;
}
};
</script>