1

我为我的新闻页面创建的 jQuery 函数遇到问题。我想做的是找到大量文本中的行/行/句子的数量(几个段落
之间有断线)。我需要这个的原因是能够重新调整文本区域的边框大小,以允许阅读其余文本。向用户呈现一定大小的摘要段落,然后如果他们想阅读更多内容,他们单击一个按钮,文本区域打开以显示其余文本。我需要将行数乘以字体大小,以便我可以将所有文本放入新的文本区域,我怎样才能找到这个数字(段落中的行数/行数)?

代码位于: http: //jsfiddle.net/3nmhu/1/或以下 - 单击文本右下角的“V”以展开文本区域。- 单击文本右下角的“A”以收缩文本区域。

查询:

$(document).ready(function(){
    $('.read_less').hide();
    $('.read_more').click(function(){   
    //confirm($(this).parent().text().length/12);   
    $('.news_item').fadeOut('slow');
    $(this).parents().fadeIn('slow');
    $(this).hide(); 
    $('.read_less').show('slow');
    $(this).parent().animate({height:($(this).parent().text().length/50) *20 + 'px',width:'655px'},'slow');
    //$('.bars2').show('slow');
    //$('.bars').animate({width:'255px'},'slow');
    //$('.bars2').animate({width:'255px'},'slow');


    });
    $('.read_less').click(function(){
    $(this).parent().animate({height:'110px',width:'464px'},'slow');
    $('.news_item').fadeIn('slow');
    $('.read_less').hide(); 
    $('.read_more').show();

    });
});

我想创建这些新闻项目,以便每个新闻项目都能够定义自己的扩展空间,只允许阅读文本并让文本紧贴文本区域,我的解决方案需要行数。但是我不确定如何找到这个号码。此外,如果您对如何纠正我的错误并帮助我解决手头的任务有更好的建议,我们将不胜感激。

提前致谢!

4

2 回答 2

2

一种方法是取出您的 divoffsetHeight并将其除以 it line-height。这会给你行数。

或者您可以使用getClientRects()javascript 的功能,我认为这肯定可以做到这一点。这个函数只是将每一行转换成一个矩形,然后我们就可以得到它length并得到行数。

于 2013-07-19T13:21:20.003 回答
0

我已经意识到找到行数是一种迂回的方式,只需将扩展框设置为 .css('height','auto'); 单击阅读更多按钮后。感谢所有尝试过的人的帮助。

于 2013-07-25T09:21:48.417 回答