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

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

· 1년 전 · 613254 · 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년 전

감사합니다 

감사합니다.

많은 도움이 됩니다.

게시글 목록

번호 제목
21184
21166
21157
21136
21132
21124
21119
21114
21106
21095
21069
21063
21060
21058
21053
21035
21032
21028
21009
21000
20994
20993
20984
20979
20958
20935
20934
20930
20913
20883