자 바스 크 립 트 기반 댓 글 상자 전개 및 숨 기기 기능 구현
댓 글 을 누 르 면 해당 댓 글 영역 에서 댓 글 입력 상 자 를 펼 치고 취 소 를 누 르 면 해당 댓 글 입력 상 자 를 취소 합 니 다.
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>
총결산위 에서 말 한 것 은 자 바스 크 립 트 를 기반 으로 댓 글 상자 의 전개 와 숨 김 기능 을 소개 하 는 것 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 은 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[2022.04.19] 자바스크립트 this - 생성자 함수와 이벤트리스너에서의 this18일에 this에 대해 공부하면서 적었던 일반적인 함수나 객체에서의 this가 아닌 오늘은 이벤트리스너와 생성자 함수 안에서의 this를 살펴보기로 했다. new 키워드를 붙여 함수를 생성자로 사용할 때 this는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.