基于JavaScript实现评论框展开和隐藏功能


Posted in Javascript onAugust 25, 2017

1.效果图如下所示,

点击评论会在对应的评论区域展开评论输入框,点击取消会取消对应的评论输入框

基于JavaScript实现评论框展开和隐藏功能

2.html代码:需要引入jQuery.js

<div
class="nr-comment">
<div
class="nr-comment-con">
<div
class="nr-comment-nav">
<div
class="comment-number">
<span>493</span>
<span>条评论</span>
</div>
<div
class="comment-sort">
切换为时间排序
</div>
</div>
<div
class="comment-content">
<div
class="com-users">
<div
class="comment-user">
<span>知乎用户</span>
<div
class="comment-user-content">
这个爬虫真的好强大!
</div>
</div>
<div
class="comment-time">
<div>2017.10.01 21:32:30</div>
<button
class="btn btn-primary btn-sm btn-reply">回复</button>
</div>
</div>
<div
class="user-reply">
<duv
class="reply-in">
<input
type="text"
value=""
name=""
placeholder="请输入评论内容" />
</duv>
<div
class="reply-buttons">
<button
type="button"
class="btn btn-primary btn-comment btn-sm">评论</button>
<button
type="button"
class="btn btn-default btn-cancel btn-sm">取消</button>
</div>
</div>
</div>
<div
class="comment-content">
<div
class="com-users">
<div
class="comment-user">
<span>知乎用户</span>
<div
class="comment-user-content">
这个爬虫真的好强大!
</div>
</div>
<div
class="comment-time">
<div>2017.10.01 21:32:30</div>
<button
class="btn btn-primary btn-sm btn-reply">回复</button>
</div>
</div>
<div
class="user-reply">
<duv
class="reply-in">
<input
type="text"
value=""
name=""
placeholder="请输入评论内容" />
</duv>
<div
class="reply-buttons">
<button
type="button"
class="btn btn-primary btn-comment btn-sm">评论</button>
<button
type="button"
class="btn btn-default btn-cancel btn-sm">取消</button>
</div>
</div>
</div>
<div
class="comment-content">
<div
class="com-users">
<div
class="comment-user">
<span>知乎用户</span>
<div
class="comment-user-content">
这个爬虫真的好强大!
</div>
</div>
<div
class="comment-time">
<div>2017.10.01 21:32:30</div>
<button
class="btn btn-primary btn-sm btn-reply">回复</button>
</div>
</div>
<div
class="user-reply">
<duv
class="reply-in">
<input
type="text"
value=""
name=""
placeholder="请输入评论内容" />
</duv>
<div
class="reply-buttons">
<button
type="button"
class="btn btn-primary btn-comment btn-sm">评论</button>
<button
type="button"
class="btn btn-default btn-cancel btn-sm">取消</button>
</div>
</div>
</div>
<div
class="comment-content">
<div
class="com-users">
<div
class="comment-user">
<span>知乎用户</span>
<div
class="comment-user-content">
这个爬虫真的好强大!
</div>
</div>
<div
class="comment-time">
<div>2017.10.01 21:32:30</div>
<button
class="btn btn-primary btn-sm btn-reply">回复</button>
</div>
</div>
<div
class="user-reply">
<duv
class="reply-in">
<input
type="text"
value=""
name=""
placeholder="请输入评论内容" />
</duv>
<div
class="reply-buttons">
<button
type="button"
class="btn btn-primary btn-sm btn-comment">评论</button>
<button
type="button"
class="btn btn-default btn-sm btn-cancel">取消</button>
</div>
</div>
</div>
<div
class="comment-ipt">
<input
type="text"
placeholder="输入你的评论">
<button
type="submit"
class="btn btn-sm btn-primary">评论</button>
</div>
</div>
</div>

3.css样式代码,样式无所谓,自己写就可以。

.nr-comment {
width:
100%;
border-right:
1px 
solid #A9A9A9;
border-left:
1px 
solid #A9A9A9;
}
.nr-comment .nr-comment-con {
width:
100%;
}
.nr-comment .nr-comment-con .nr-comment-nav {
width:
100%;
height:
40px;
border-bottom:
1px 
solid #F5F5F6;
border-right:
1px 
solid #A9A9A9;
border-left:
1px 
solid #A9A9A9;
background-color:
#1E8CE0;
}
.nr-comment .nr-comment-con .nr-comment-nav .comment-number {
float:
left;
width:
85px;
height:
30px;
text-align:
center;
margin-top:
5px;
color:
white;
line-height:
2.3em;
}
.nr-comment .nr-comment-con .nr-comment-nav .comment-sort {
float:
right;
width:
110px;
height:
30px;
margin-top:
5px;
margin-right:
10px;
line-height:
2em;
color:
white;
}
.nr-comment .nr-comment-con .comment-content {
width:
100%;
margin-top:
10px;
border-bottom:
1px 
solid #a9a9a9;
}
.nr-comment .nr-comment-con .comment-content .com-users {
width:
100%;
min-height:
60px;
}
.nr-comment .nr-comment-con .comment-content .com-users .comment-user {
float:
left;
width:
500px;
height:
60px;
}
.nr-comment .nr-comment-con .comment-content .com-users .comment-user span {
color:
black;
margin-left:
10px;
}
.nr-comment .nr-comment-con .comment-content .com-users .comment-user .comment-user-content {
width:
90%;
height:
60px;
margin-left:
10px;
}
.nr-comment .nr-comment-con .comment-content .com-users .comment-time {
float:
right;
width:
190px;
height:
60px;
text-align:
center;
color:
#9CADC6;
font-size:
0.9em;
text-align:
right;
}
.nr-comment .nr-comment-con .comment-content .com-users .comment-time div {
margin-right:
15px;
}
.nr-comment .nr-comment-con .comment-content .com-users .comment-time .btn-reply {
margin-top:
5px;
border-radius:
4px;
border:
none;
background-color:
#1BB394;
color:
white;
margin-right:
15px;
}
.nr-comment .nr-comment-con .comment-content .user-reply {
display:
none;
width:
100%;
height:
50px;
}
.nr-comment .nr-comment-con .comment-content .user-reply .reply-in {
float:
left;
width:
85%;
height:
50px;
}
.nr-comment .nr-comment-con .comment-content .user-reply .reply-in input {
width:
100%;
height:
30px;
margin-top:
10px;
margin-left:
10px;
}
.nr-comment .nr-comment-con .comment-content .user-reply .reply-buttons {
float:
right;
margin-top:
10px;
}
.nr-comment .nr-comment-con .comment-content .user-reply .reply-buttons .btn-comment {
float:
right;
margin-right:
14px;
background-color:
#1BB394;
border:
none;
color:
white;
}
.nr-comment .nr-comment-con .comment-content .user-reply .reply-buttons .btn-cancel {
float:
right;
margin-right:
10px;
}
.nr-comment .nr-comment-con .comment-ipt {
width:
100%;
height:
40px;
border-bottom:
1px 
solid #A9A9A9;
margin-top:
10px;
}
.nr-comment .nr-comment-con .comment-ipt input {
display:
block;
width:
92%;
height:
30px;
float:
left;
font-size:
14px;
margin-left:
10px;
}
.nr-comment .nr-comment-con .comment-ipt button {
display:
block;
float:
right;
background-color:
#1BB394;
color:
white;
margin-right:
13px;
border:
none;
}

4.js控制对应评论按钮事件。

<script>
$(document).ready(function()
 {
$('.btn-reply').click(function()
 {
// console.log($(this).index());
// 获取回复按钮集合,getElementByClassName;
var m
= document.getElementsByClassName("btn-reply");
var n
= document.getElementsByClassName("user-reply");
console.log('回复按钮集合'
+ m);
// 获取回复按钮的索引
var index
= $(".btn-reply").index($(this));
console.log(index);
$(".user-reply").eq(index).css("display",
"block");
});
$('.btn-cancel').click(function()
 {
var m
= document.getElementsByClassName("btn-reply");
var n
= document.getElementsByClassName("user-reply");
var index
= $(".btn-cancel").index($(this));
console.log(index);
$(".user-reply").eq(index).css("display",
"none");
});
});
</script>

总结

以上所述是小编给大家介绍的基于JavaScript实现评论框展开和隐藏功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
[原创]后缀就扩展名为js的文件是什么文件
Dec 06 Javascript
给应用部分的js代码设定一个统一的入口
Jun 15 Javascript
使用 js+正则表达式为关键词添加链接
Nov 11 Javascript
利用jquery给指定的table动态添加一行、删除一行的方法
Oct 12 Javascript
利用vue写todolist单页应用
Dec 15 Javascript
Vue2.0 axios前后端登陆拦截器(实例讲解)
Oct 27 Javascript
详解JavaScript中操作符和表达式
Sep 12 Javascript
vsCode安装使用教程和插件安装方法
Aug 24 Javascript
js实现图片无缝循环轮播
Oct 28 Javascript
微信小程序实现按字母排列选择城市功能
Nov 25 Javascript
javascript设计模式 ? 模板方法模式原理与用法实例分析
Apr 23 Javascript
React中Ref 的使用方法详解
Apr 28 Javascript
js求数组中全部数字可拼接出的最大整数示例代码
Aug 25 #Javascript
Vue.js进行查询操作的实例详解
Aug 25 #Javascript
Vue实例中生命周期created和mounted的区别详解
Aug 25 #Javascript
Vue.js框架路由使用方法实例详解
Aug 25 #Javascript
关于Vue.nextTick()的正确使用方法浅析
Aug 25 #Javascript
jQuery图片缩放插件smartZoom使用实例详解
Aug 25 #jQuery
JS中利用swiper实现3d翻转幻灯片实例代码
Aug 25 #Javascript
You might like
十天学会php(3)
2006/10/09 PHP
用PHP和ACCESS写聊天室(五)
2006/10/09 PHP
php正则过滤html标签、空格、换行符的代码(附说明)
2010/10/25 PHP
php 调试利器debug_print_backtrace()
2012/07/23 PHP
Fine Uploader文件上传组件应用介绍
2013/01/06 PHP
phpinfo()中Loaded Configuration File(none)的解决方法
2017/01/16 PHP
php封装json通信接口详解及实例
2017/03/07 PHP
浅谈laravel aliases别名的原理
2019/10/24 PHP
Javascript JSQL,SQL无处不在,
2010/05/05 Javascript
纯js实现背景图片切换效果代码
2010/11/14 Javascript
使用jquery hover事件实现表格的隔行换色功能示例
2013/09/03 Javascript
在每个匹配元素的外部插入新元素的方法
2013/12/20 Javascript
jquery JSON的解析方式示例介绍
2014/07/27 Javascript
AngularJs根据访问的页面动态加载Controller的解决方案
2015/02/04 Javascript
基于JavaScript创建动态Dom
2015/12/08 Javascript
javascript运动框架用法实例分析(实现放大与缩小效果)
2016/01/08 Javascript
jQuery添加options点击事件并传值实例代码
2016/05/18 Javascript
第一次接触神奇的Bootstrap
2016/10/14 Javascript
微信小程序 POST请求(网络请求)详解及实例代码
2016/11/16 Javascript
PHP实现记录代码运行时间封装类实例教程
2017/05/08 Javascript
Vue父子组件之间的通信实例详解
2018/09/28 Javascript
jquery.pagination.js分页使用教程
2018/10/23 jQuery
初学node.js中实现删除用户路由
2019/05/27 Javascript
mpvue 页面预加载新增preLoad生命周期的两种方式
2019/10/17 Javascript
Python中生成器和yield语句的用法详解
2015/04/17 Python
在pycharm中使用git版本管理以及同步github的方法
2019/01/16 Python
PyQt5创建一个新窗口的实例
2019/06/20 Python
PYQT5实现控制台显示功能的方法
2019/06/25 Python
Python直接赋值及深浅拷贝原理详解
2020/09/05 Python
List, Set, Map是否继承自Collection接口?
2016/05/16 面试题
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
2012/04/17 面试题
业务部门经理岗位职责
2014/02/23 职场文书
2014年五四青年节活动方案
2014/03/29 职场文书
工伤赔偿协议书范本
2014/04/15 职场文书
档案保密承诺书
2014/06/03 职场文书
《西门豹》教学反思
2016/02/23 职场文书