效果目标图:

这个还是比较好实现的,附源码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>点击查看全文</title>
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
<style type="text/css">
*{
padding: 0;
margin: 0;
}
.showAll{
width: 60%;
margin: 0 auto;
background: #ecebeb;
padding: 10px;
}
.showAll .title{
font-size: 20px;
font-weight: bold;
color:#af0015;
}
.showAll .author{
color: #a1a1a1;
margin: 12px 0;
}
.showAll .content{
display: none; //注意这里让文字不显示
}
</style>
<script type="text/javascript">
$(document).ready(function(){
$(".showContent").click(function(){ //当“展开全文”按钮点击的时候
$(".content").show(); //展示未完全显示的那部分内容
$(this).parent().hide(); //此处需要注意隐藏简略说明的文字,因为原来文字里面最后有省略号,不隐藏的后果就是展开后省略号仍旧在那里
});
$(".hideContent").click(function(){ //当“收起全文”按钮点击的时候
$(this).parent().hide(); //隐藏已经显示出来的文字
$(".showContent").parent().show(); //将简略说明的文字显示出来
});
});
</script>
</head>
<body>
<div class="showAll">
<p class="title">
一则励志故事
</p>
<p class="author">
作者:来自网络 发表时间:2014-3-1
</p>
<p>
彼得·韩德先生现任卡内基公司 (Dale Carnegie & Associates) 总裁及首席执行官。卡内基公司为训练界中的翘楚,在全世界85个国家有160个分支机构。
除此之外,彼得先生还是数家大公司的董事,作为一个培训别人怎样获得成功的专业机构的总裁,他是怎样获得成功的呢?日前,记者在北京的东方君悦大酒店采访了
这位CEO,听他讲述了自己是怎样获得成功的故事。
彼得先生通过一个故事讲了他对成功的理解。他说他在五岁时因为生病去看医生,当时病痛...
<a class="showContent" href="javascript:void(0);">查看全文</a>
</p>
<div class="content">
彼得·韩德先生现任卡内基公司 (Dale Carnegie & Associates) 总裁及首席执行官。卡内基公司为训练界中的翘楚,在全世界85个国家有160个分支机构。
除此之外,彼得先生还是数家大公司的董事,作为一个培训别人怎样获得成功的专业机构的总裁,他是怎样获得成功的呢?日前,记者在北京的东方君悦大酒店采访了
这位CEO,听他讲述了自己是怎样获得成功的故事。
彼得先生通过一个故事讲了他对成功的理解。他说他在五岁时因为生病去看医生,当时病痛使他很难受,医生当时问他,你最想要的是什么,彼得先生对医生说,我想
要快乐,医生说,那你快乐就是了,结果他真的很快乐。所以彼得先生说,有许多人想追求成功,也有许多人问他,怎样才能尽快地获得成功。他认为,这要先看你对
成功的定义是什么?你的成功定义若是家庭和谐,那你就应想办法跟家庭成员更多地沟通,为此付出更多的时间,并在提升家庭成员的和谐之中也提升自己处理家庭问
题的能力。
彼得先生说:“我对成功的定义是快乐,我不会做我不喜欢的事和不喜欢的工作。中国的一句俗语说‘人在屋檐下,不得不低头',我不喜欢那样的境况,我也不会那样
做。由于我认为快乐就是成功,所以说,我在5岁时就已经很成功了。”
<a class="hideContent" href="javascript:void(0);">收起全文</a>
</div>
</div>
</body>
</html>

但上面只是静态的,但如果是动态的,成百上千条的数据,这时候就需要用到动态html了。

也就是需要在html页面借助for循环来实现展示效果。(让其产生多个li标签)

那么上面这样写就会有问题。因为这样会让所有的包含class 为content的标签产生影响。所以js代码那块有问题。所以就需要使用id来改变隐藏和显示状态,而不应该用class。

然后又想id怎么自增。但是让其自增了,又怎么获取该标签自增后的id。因为在上面隐藏和展示的代码里面需要获取该id,之后就不会写了。。。不会js,需要学一下。

另外附上可以让其产生这种效果的css代码:

像这种加了省略号,加了个阅读全文是怎么做到的

p {
            width:600px;
            overflow: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            /*-webkit-line-clamp: 3;超出3行部分显示省略号,去掉该属性 显示全部*/
            line-height: 1.5em;
            height:4.5em;
            overflow-y: hidden;
            -webkit-box-orient: vertical;
        }

还有别的方法控制,用js控制应该也可以,待后期学到一定程度,实现一下这个功能。

看下面这篇文章有点帮助:

http://www.luyixian.cn/javascript_show_144212.aspx

怎么在html动态实现显示和隐藏效果的更多相关文章

  1. 在 jQuery 中使用滑入滑出动画效果,实现二级下拉导航菜单的显示与隐藏效果

    查看本章节 查看作业目录 需求说明: 在 jQuery 中使用滑入滑出动画效果,实现二级下拉导航菜单的显示与隐藏效果 用户将光标移动到"最新动态页"或"帮助查询" ...

  2. 使用 jQuery 选择器获取页面元素,然后利用 jQuery 对象的 css() 方法设置其 display 样式属性,从而实现显示和隐藏效果。

    查看本章节 查看作业目录 需求说明: 使用 jQuery 选择器获取页面元素,然后利用 jQuery 对象的 css() 方法设置其 display 样式属性,从而实现显示和隐藏效果. 具体要求如下: ...

  3. js密码修改显示与隐藏效果

    一.添加input框 <form class="login_form"> <input class="password inputpwd" i ...

  4. Web前端鼠标悬停实现显示与隐藏效果

    css定义,偏移量,相对定位,绝对定位 显示与隐藏 二维码相对于微信图标定位 鼠标悬停微信图标上显示 鼠标离开微信图标时隐藏 什么是定位,就是定义网页标签在运行时显示的位置 css提供Position ...

  5. 如何在search中动态的显示和隐藏tree中的字段

    在tree定义 invisible 来自context <field name="country_id" invisible="context.get('invis ...

  6. 动画效果 View控件的显示和隐藏效果

    显示动画: mShowAction = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 1.0f,     Animation.RELATIVE_ ...

  7. 7.jQuery之显示与隐藏效果

    这里用到三个函数方法:show()   hide()  toggle() 注意点是三个方法里面的两个参数的使用,前一个参数是时间,表示显示速度:后一个参数是回调函数,只有前面的动画执行完之后,回调函数 ...

  8. jquery渐渐的显示、隐藏效果

    <!DOCTYPE html> <html> <head> <meta charset="gb2312" /> <title& ...

  9. Android 动态控制OptionMenu的显示与隐藏

    在有些场景下,可能需要动态的显示和隐藏optionmenu,可以这样实现:如果在activity中默认实现了方法: onCreateOptionsMenu(Menu menu) 那么该OptionMe ...

随机推荐

  1. rtmp协议分析

    最近需要做一个rtmp服务器,着手分析一下rtmp协议,开干. rtmp握手 这个推荐一篇文章讲解得比较透彻http://blog.sina.com.cn/s/blog_676e11660102v8b ...

  2. 解决Python print输出不换行没空格的问题

    今天在做编程题的时候发现Python的print输出默认换行输出,并且输出后有空格. 题目要求输出 122 而我的输出是: 1 2 2 于是我百度查到取消print自动换行的方法:就是在print的值 ...

  3. PDF to PNG to PDF

    PDF to PNG to PDF PDF 2 PNG step 1, install PyMuPDF pip install pymupdf -i http://mirrors.aliyun.com ...

  4. python - 代码调试的好帮手sys._getframe()

    python 的调试,令人非常忧伤,通过将输出路径打印的方式,可以提高很大的方便性: import sys #coding=utf-8 def get_cur_info(): print sys._g ...

  5. Django开启https(不用nginx)

    首先安装需要用到的包 pip install django-extensions pip install django-werkzeug-debugger-runserver pip install ...

  6. Python学习之==>操作MySQL

    一.简介: MySQL为关系型数据库,其他关系型数据库包括Oracle.DB2.Sql Server等等.Python操作MySQL需要使用到pymsyql模块,pip安装即可. 二.操作MySQL步 ...

  7. 《Using Python to Access Web Data》 Week5 Web Services and XML 课堂笔记

    Coursera课程<Using Python to Access Web Data> 密歇根大学 Week5 Web Services and XML 13.1 Data on the ...

  8. 【Linux 应用编程】进程管理 - 进程间通信IPC之管道 pipe 和 FIFO

    IPC(InterProcess Communication,进程间通信)是进程中的重要概念.Linux 进程之间常用的通信方式有: 文件:简单,低效,需要代码控制同步 管道:使用简单,默认阻塞 匿名 ...

  9. 【Airtest】Airtest中swipe方法兼容不同分辨率的解决方法

    使用Airtest中swipe方法由于不同分辨率的手机上滑动的坐标位置不同,所以想要兼容所有的手机,仅仅靠固定坐标就会出现问题 想要兼容所有的手机,可以按照如下思路进行 1.首先获取手机的分辨率,可以 ...

  10. CSU1081有向图BFS

    集训队分组 Description中南大学ACM的暑期集训马上就要开始了,这次集训会将全体N名集训队员(编号分别为1, 2, …, N)按集训选拔赛的排名分成两组,前K名队员分入A组,其余队员分入B组 ...