无法使用.hide()隐藏图像

时间:2012-10-15 07:23:09

标签: javascript jquery

我的asp.net mvc中有以下视图,它显示了一个ajax-loading imag,我试图在启动jquery函数后隐藏如下: -

<div id= "geturl" data-url="@Url.Action("ListPackages", "Home")">
<h1>All Processes</h1>
    <img id="tobehide" src="~/Content/ajax-loading2.gif" />
<ul id="products">
</ul>

然后是以下JavaScript文件: -

$(document).ready(function () {
    $.ajax({
        url: $('#geturl').data('url'),
        type: 'GET',
        cache: false,
        success: function (result) {
            $('#tobehide').hide();
            $.each(result.data, function (key, val) {
                var str = val.packageName;
                $('<li/>', { text: str })
                    .appendTo($('#products'));
            });
        }
    });
});

目前数据将被填充,但loading-imag将不会被hiden.so如何在java脚本开始执行时强制图像隐藏? 最诚挚的问候

2 个答案:

答案 0 :(得分:2)

您的代码是正确的,应该可以正常使用!
尝试使用FireBug或Chrome开发人员工具查看您从ajax调用中获取的javascript错误。
如果仍然没有帮助,并且您希望隐藏图像,则在您正在使用的jquery ajax调用上使用“完整”回调。

$(document).ready(function () {
    $.ajax({
        url: $('#geturl').data('url'),
        type: 'GET',
        cache: false,
        complete: function (result) {
            $('#tobehide').hide();
            $.each(result.data, function (key, val) {
                var str = val.packageName;
                $('<li/>', { text: str })
                    .appendTo($('#products'));
            });
        }
    });
});

答案 1 :(得分:0)

应该可以正常工作。你的代码中没有错误兄弟。

尝试添加异步选项。将其设置为false。然后再试一次