javascript - Jquery 隐藏/显示不适用于动画

标签 javascript jquery html jquery-ui

我试图隐藏结果 div。修改它。然后用动画显示。

我有以下内容:

$("#SearchButton").button().click(function() {
                $("#resultContainer").hide();
                $("#resultContainer").empty();
                searchResults();
                $("#resultContainer").show("slow");
});

searchResults() 调用 ajax 将一些内容加载到 div #resultContainer

但是,即使我注释掉 //searchResults(); 这行,当我点击按钮时,我仍然会得到一个空白的 div。

但是,如果我将 $("#resultContainer").show("slow"); 切换为 $("#resultContainer").show(); 它工作正常。但我想要动画。 .show("slow") 在其他地方工作正常......

更新:我现在有:

$("#SearchButton").button().click(function() {
                $("#resultContainer").hide(0);
                searchResults();
            });

然后 searchResults 使用以下回调执行 ajax 调用:

//appending something to the div here              
$("#resultContainer").show(600);
alert("test");

我收到警报,但 div 从未显示备份...

最佳答案

你的代码可以改进,试试这个:

$(function() {
    var $resultContainer = $("#resultContainer");
    $("#SearchButton").click(function() {
        $resultContainer.hide();
        //$resultContainer.empty(); // BTW, no need to empty since the ajax will replace its content anyway!
        searchResults();
    });

    function searchResults() {
        $.ajax({
            url: "yourRequest.php",
            success: function(resp) {
                $resultContainer.html(resp);
                $resultContainer.show("slow");
            }
        });
    }
});
  1. 您不需要清空容器,因为它的内容无论如何都会在 ajax 调用中被替换,而且它已经隐藏了!
  2. show 方法移除到 ajax 成功回调
  3. 将容器存储在 var $resultContainer 中,并使用它来加快访问速度。

这是一个直播 example .

关于javascript - Jquery 隐藏/显示不适用于动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4554144/

相关文章:

javascript - 限制 Mongoose 中查询人口后的结果数量

jquery - 将 jQuery 更改保存到服务器上的 css 文件

jquery - 如何在 jquery 的行上添加鼠标悬停事件?

html - 如何在图标之间创建垂直虚线(带有示例图像)

javascript - Google map - 路线服务 api ZERO_RESULTS

javascript - 提交按钮不提交表单,但检查验证

javascript - ReactJs中如何显示Json数据

带函数的 Jquery 动画不会排队 : false

javascript - jquery.js?v=1.9.1 :4421 Uncaught Error: Syntax error, 无法识别的表达式:[对象对象]

Javascript 随机段落交换,以任何随机顺序