js实现评论框展开和隐藏

1.效果图如下所示,

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

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 >

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值