js实现展开全部内容,收起全部内容

这篇博客介绍了如何在移动端页面中实现一个内容过多时的显示策略。内容以预览形式展示,用户可以选择是否查看全部。通过JavaScript控制,设置最大显示字数,点击后展开全部内容。提供了HTML和JS部分的代码示例。

整理一个昨天做的案例,虽然很简单我感觉我这个脑子有必要整理一下,不然睡一觉又忘记了,这个是关于移动端页面中,如果模块中内容过多,首先展示部分,用户自己选择看不看全部的一个小功能。

首先看看这个页面的效果吧,如下图所示:
在这里插入图片描述
下面一起来看一下代码吧

html部分(css样式就不在这里写了,需要自行下载)

<div class="con">
    <p class="intro_title">就让我们,晚点在一起。然后一辈子。</p>
    <p class="intro_content more_h">
        不需要晚多久,就再过那么几年,那时我们有稳定的收入,靠谱的工作,所有的一切步入正轨、我不再是一个追梦的漂浮的女生,而是一个只寻求安稳生活的女人,你不再是一个青涩的毛头小伙子,而是一个成熟的男人。
        <br />
        到那个时候,我们在相爱、
        <br />
        如果,我们可以晚一些相遇。<br />
        不需要多久,就在过那么几年,那时候我们已经学会了知足学会了包容和珍惜,而你也真的能从容的面对那些不追逐你的异性、
        <br />
        到那时候,那时候我们在相爱、
    </p>
    <div class="more">展开查看</div>
 </div>

JS部分
这里是控制内容字数来实现这个功能的。

  • 首先定义一个content 存放原始的内容。方便展开全部内 容的时候使用
  • 变量 more 是为了判断当前状态时展开还是收起的状态
  • maxheight 是定义一个最大字数限制
<script>
    $(function(){
        var content = $(".more_h").html();
        var more = true;
        //限制字符个数
        var hide = function (){
            $(".more_h").each(function(){
                var maxheight=120;
                if($(this).text().length>maxheight){
                    $(this).text($(this).text().substring(0,maxheight));
                    $(this).html($(this).html()+'...');
                    more = true;
                    $('.more').html("查看更多");
                } else {
                    $('.more').hide();
                }
            });
         };
     hide();
     $('.more').click(function(){
         if(more){
             $(".more_h").html(content);
             $(this).html("收起文章");
             more = false;
         }else{
             hide();
         }
     });
   })
 </script>
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

撸猫@冒泡泡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值