带有slideToggle效果的ajax加载文件

时间:2011-02-17 17:32:17

标签: javascript html ajax

我在div容器中加载文本文件,到目前为止我已经使它工作了。 我现在希望用slideToggle效果为它设置动画。这就是网页的样子:

<div id="content" style="width: 75%">
    <?php
    foreach(new DirectoryIterator('uploads/temp') as $file)
    {
        if(!$file->isDot())
        {
           echo '<a href="#" onmousedown="javascript:ajax.query(
           \'view.php?file=uploads/temp/'.$file.'\',\'file\')">'.$file.'</a> ';
        }
    }
    ?>
    <div id="file" style="text-align: justify"></div>
</div>

如何将slideToggle功能应用于链接?您可以查看实际网页HERE

非常感谢

1 个答案:

答案 0 :(得分:0)

您需要将回调事件附加到您的ajax请求,以便在内容加载之前不会发生幻灯片动画。使用jQuery的内置ajax和事件功能这样做会是这样的:

<?php foreach... {
    // Removed onmousedown, as the event is now attached using pure jQuery
    echo '<a href="#">'.$file.'</a> ';
} ?>

<script type="text/javascript">

// Attach click event listener to all links inside id="content"
$("#content a").live("click", function(e)
{
    // Perform a simple Ajax call based on link contents
    $.get('view.php?file=uploads/temp/'+$(this).text(), function(html)
    {
        // Hide div, populate content, and perform animation
        $("#file")
            .hide()
            .html(html)
            .slideDown();
    });
});

</script>