3

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

我试过这个:

 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() ,那是一场灾难......

4

2 回答 2

8

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

function getInfo(id)
{
    $("#userData").hide();
    $.ajax({
            type: "GET",
            url: "users/userInfo.php",
            data: {userId: id},
            success: function(result){
                $("#userData")
                    .html(result)
                    .slideDown('slow');
        }
    });
 };
于 2013-05-06T15:47:52.157 回答
0

我尝试了这两个功能hide,然后slidedown在我的主页上的 ajax 调用中进行导航,但没有成功。 是我的网站,当您单击下载时,您会看到它仅在第一次时有效。当您再次单击时,它将被隐藏。

是我的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>  

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

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

于 2013-08-22T19:35:27.487 回答