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

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

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

감사합니다 

감사합니다.

많은 도움이 됩니다.

게시글 목록

번호 제목
22041
22035
22033
22028
22019
22006
22005
21995
21989
21978
21972
21961
21956
21944
21934
21932
21924
21922
21921
21910
21908
21897
21883
21881
21875
21854
21852
21851
21829
21817