jQuery有这样的效果吗?这是使用原型

时间:2009-09-27 22:14:10

标签: javascript jquery ajax prototypejs

http://blog.posterous.com/ 点击评论链接。

注意如何加载注释,向下滑动。当你点击'隐藏'时也是如此。

3 个答案:

答案 0 :(得分:3)

它叫做 slideDown()

分两步完成:

  1. 首先,评论的容器被滑动(因此它会将内容推下来)。
  2. 然后评论自己在这个容器中向下滑动。
  3. 但您可能必须使用jQuery中提供的ajax函数加载您的注释。

答案 1 :(得分:2)

看起来或多或少像

    点击评论后
  • ajax调用后跟slideDown()(可能还有少量缓动)

  • 单击隐藏 时,
  • slideUp()

除非我遗漏了什么?

答案 2 :(得分:1)

xhr.html:

<style>
    div.comments { display:none; }
</style>

    <div class="comment-wrap">
    <a href="#" class="comments" rel="300">comments</a>
    <div class="comments"></div>
    </div>

    <div class="comment-wrap">
    <a href="#" class="comments" rel="301">comments</a>
    <div class="comments"></div>
    </div>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script>
$(function() {
    $('a.comments').each(function() {
    var el = this;
    $(this).toggle(function(e){
        e.preventDefault()
        $.ajax({
        url:'content.php',
        data:{id:$(el).attr('rel')},
        type:'GET',
        success:function(html) {
            $(el).next().html( html ).slideDown('slow');
        }
        });
    }, function(e) {
        $(el).next().slideUp('slow');
    });
    });
});
</script>

content.php(模仿获取数据库结果):

<?php
    $id = (int)$_GET['id'];

    switch ( $id ) {
    case '300':
        $content = '
        lorem ipsum dolor sit amet<br>
        lorem ipsum dolor sit amet<br>
        lorem ipsum dolor sit amet<br>
        lorem ipsum dolor sit amet<br>
        lorem ipsum dolor sit amet<br>
        ';
    break;

    case '301':
        $content = '
        lorem ipsum dolor sit amet<br>
        lorem ipsum dolor sit amet<br>
        lorem ipsum dolor sit amet<br>
        lorem ipsum dolor sit amet<br>
        lorem ipsum dolor sit amet<br>
        ';
    break;

    default:break;
    }
    echo $content;
?>

并确保content.php吐出数据。您可以根据需要对其进行编程,