使用jQuerys .change()时如何显示和隐藏加载的.gif图像

时间:2013-01-17 13:22:21

标签: jquery

使用下面的代码时,如何显示和隐藏loding.gif图像?这就是所有的代码。这里没有beforeSend:success:

$("#seg").change(function(){
$("#sSeg").load("/blah/blah.php?option="+$("#seg").val());
});

这里发生的是,当下拉值改变时,它将为另一个下拉列表获取新内容。我想在那里添加一个loading.gif,以便用户知道事情正在发挥作用。

4 个答案:

答案 0 :(得分:3)

您可以在使用load之前显示加载,然后将其隐藏在load's回调函数中

$("#seg").change(function() {
    $('img.loading').show();
    $("#sSeg").load("/blah/blah.php?option="+$("#seg").val(), function() {
        $('img.loading').hide();
    });
});

答案 1 :(得分:1)

使用上面的示例,最简单的方法是显示loading.gif并将其替换为加载函数的下拉列表...

$("#seg").change(function(){
    $("#sSeg").html("<img src=\"loading.gif\" />");
    $("#sSeg").load("/blah/blah.php?option="+$("#seg").val());
});

答案 2 :(得分:1)

你的.change()函数是你的beforeSend:而.load有一个回调函数,它在完成后被调用。这应该有效:

$("#seg").change(function(){
    $('#gif').show();
    $("#sSeg").load("/blah/blah.php?option="+$("#seg").val(), function() {
        $('#gif').hide();
    });
});

请参阅.load() documentation

答案 3 :(得分:1)

只需创建一个这样的div,你想在其中显示加载图像并在其中加载一个加载图像,默认情况下将其设置为none,并使用jQuery显示它。

&lt; div id =“loading”&gt;&lt; img src =“loading.gif”&gt;&lt; / div&gt;

$("#seg").change(function(){
    $("#loading").css("display","block");
    $("#sSeg").load("/blah/blah.php?option="+$("#seg").val(),function(){ 
       $("#loading").css("display","none");
    });
});