show()不起作用

时间:2013-03-08 02:51:23

标签: javascript jquery asp.net

当用户点击提交按钮时,我正在尝试显示加载微调器。我尝试实施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,所以我正在努力解决这个问题并找出问题所在。

3 个答案:

答案 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>