테스트 사이트 - 개발 중인 베타 버전입니다

댓글 입력란 원래위치로 보내기

· 1년 전 · 613253 · 5

그누보드는 새로운 댓글 입력란이 [댓글 수정]이나 [댓글 답변]을 할 때 새로운 위치로 움직입니다.

이 상태에서 [댓글 수정]이나 [댓글 답변]을 하지 않고 [새로운 댓글]을 입력하려고 하면, 입력란을 기본 위치로 돌리기 위해 페이지를 새로고침하거나 다시 접속해야 하는 불편함이 있습니다.

 

이를 해소하기 위해, [댓글 수정]이나 [댓글 답변] 버튼을 같은 위치에서 다시 누르면 기본 자리로 돌아가도록 하는 방법입니다:

 

사용하시는 게시판 스킨의 [view_comment.skin.php]에서 'comment_box' 함수 스크립트의 다음 부분을 찾아:

[code]

...

function comment_box(comment_id, work) {
    var el_id,
        form_el = 'fviewcomment',
        respond = document.getElementById(form_el);

 

    // 댓글 아이디가 넘어오면 답변, 수정
    if (comment_id) {
        if (work == 'c')
            el_id = 'reply_' + comment_id;
        else
            el_id = 'edit_' + comment_id;
    }

    ...

}

...

[/code]

 

다음과 같이 고쳐줍니다.

[code]

...

+ var c_last = '';
function comment_box(comment_id, work) {
    var el_id,
        form_el = 'fviewcomment',
        respond = document.getElementById(form_el);

+    if ( c_last == (comment_id + work) ) {

+        comment_box('', 'c');

+        c_last = '';
+    } else {
        // 댓글 아이디가 넘어오면 답변, 수정
        if (comment_id) {
            if (work == 'c')
                el_id = 'reply_' + comment_id;
            else
                el_id = 'edit_' + comment_id;
+            c_last = comment_id + work;
        }

        ...

+    }

}

...

[/code]

(앞쪽 + 기호는 지우셔야 합니다.)

 

[댓글 수정], [댓글 답변] 버튼을 누를 때 실행되는 스크립트에, 임의로 'c_last' 변수를 더해 확인하도록 하여 토글버튼처럼 기능하게 하였습니다.

 

한 번 누른 댓글의 버튼을 다시 누르면 원래 자리로 돌아가고, 다른 댓글의 버튼을 누르면 해당 댓글로 이동합니다.

 

감사합니다.

 

 

다른 회원님의 해결방법:

https://sir.kr/g5_tip/3514

https://sir.kr/g5_tip/19283

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 5개

1년 전

감사합니다 ^^

1년 전

*[댓글 수정]과 [댓글 답변]을 오갈때도 올바로 작동하도록 고쳤습니다.

1년 전

좋아요.

1년 전

감사합니다 

감사합니다.

많은 도움이 됩니다.

게시글 목록

번호 제목
22349
22347
22312
22308
22303
22282
22269
22259
22253
22234
22221
22197
22191
22179
22151
22144
22135
22130
22118
22110
22098
22095
22076
22057
22053
22051
22050
22046
22044
22042