1

你能帮我这个代码吗?我在这里寻找答案,但对我来说有点困难,因为我是 jquery 编程的初学者。我在这里尝试做的是替换('read more...')文本,例如在按下('read less...')之后。我试图这样做,但它一次又一次地失败。我在这里找到了关于此的其他帖子,但我想使用我制作的脚本来进行更多培训。有什么想法吗?代码在这里。

$(document).ready(function(){
var $posts = $('#items > div');
var maxHeight = 95;

$('a', $posts).live('click', function(){
    var $par = $(this).prev('p');

    var oH = parseInt($par.attr('class'));

    if($par.height() == oH){
        $par.animate({
            'height': maxHeight
        }, 'medium');
    }else{
        $par.animate({
            'height': oH
        }, 'medium');
    }
});

$posts.each(function(){
    if($('p', this).height() > maxHeight){

        $('p', this)
            .attr('class', $('p', this).height())
            .css('height', maxHeight+'px');
        $(this).append($('<a>').text('read more...'));
    }
});

});

在按下“阅读更多...”之后,我应该放置什么样的代码以及在哪里将“阅读更多...”替换为“阅读更少”(它会展开 - 动画向下)。除了替换文本之外,脚本工作正常。感谢您提供的任何帮助。我会很感激所有提示。先感谢您

4

1 回答 1

0

您可以通过调用更改链接文本$(this).text('....');

if($par.height() == oH){
    $par.animate({
        'height': maxHeight
    }, 'medium');
    $(this).text('read more...');
}else{
    $par.animate({
        'height': oH
    }, 'medium');
    $(this).text('read less...');
}

这是一个演示

于 2012-07-20T18:31:11.813 回答