div滑落的jquery ajax结果

时间:2013-05-06 15:45:39

标签: jquery ajax slidedown

我有一个页面,其中包含所有用户的下拉列表。当一个人在下拉列表中选择某人时,我会触发ajax调用以获取用户的信息。一切正常。我试图在一个div中显示ajax调用的结果,所有div都非常像。

我试过这个:

 function getInfo(id)
{
        $.ajax({
                   type: "GET",
                   url: "users/userInfo.php",
                   data: "userId=" + id,
                   success: function(result){
                     $("#userData").html(result);
                   }
                 });
 $("#userData").hide();
 $("#userData").slideDown('slow');
 };

并且在一个人做出的第一个选择中,它不会滑动,它只是出现。但是,如果该人选择不同的选项,则幻灯片可以完美地运行。我怎么能得到第一个ajax响应滑动?

我添加了.hide(),因为我读到它必须被隐藏才能滑动。我尝试了animate(),这是一场灾难......

2 个答案:

答案 0 :(得分:8)

您需要重新安排通话。在ajax调用之前移动hide。然后将slidedown移到成功回调中:

function getInfo(id)
{
    $("#userData").hide();
    $.ajax({
            type: "GET",
            url: "users/userInfo.php",
            data: {userId: id},
            success: function(result){
                $("#userData")
                    .html(result)
                    .slideDown('slow');
        }
    });
 };

答案 1 :(得分:0)

我在主页上的ajax调用中尝试了两个函数hide然后slidedown进行导航但未成功。 Here是我的网站,当您点击下载时,您会发现它只是第一次运行。当您再次单击时,它将被隐藏。

Here是我的js,我希望你能给我一个提示。

我附上点击下载时调用的js函数:

function download( ) {

//$('#download').hide();

$.post(ajfile+'download', function(res) {

    $(".container").css("display","none");

    $('#download').html(res);
});

}

我附上php代码,用链接调用js:

<div id="header" >  

    <ul id="navigation">

    <?php 
    # links
    foreach ($nav as $nav2) {

        echo '<li><a href="#'.lcfirst($nav2).'">'.$voc[$nav2].' ( ';

        # ü not possible as dec value
        if ($nav2== 'Aboutus')
            echo 'u';

        else
            echo lcfirst(substr( $voc[$nav2],0,1));

        echo ' ) </a></li>';

    } ?>

    </ul>   
    <input type=button onclick=download() value=Download(l)>
</div>  

Here是我使用的教程,演示了如何使用按键和链接创建网站。

基本上我在href标记内使用a属性作为导航链接。此外,我有一个按键监听器事件。因此,每次单击链接或按下某个键时,都会调用带有id的div来显示内容。其余内容使用js css()方法隐藏。