PageSourceSearch

https://newsfc.co.kr/script/reply.js

js newsfc.co.kr collected 2026-09-24 20:39:53 UTC 6,106 bytes, 219 lines download raw bytes

1var reply = {
2	parent_idxno:'',
3	captchaEnable:'',
4	replyAll:'',
5	reply_sc_order_by:'',
6	reply_page:'',
7	
8	reply_bbs_table:'',
9
10	// 모달 타이틀 및 비회원 폼 데이터 전달대상을 구한다. 
11	replyWrite:function(event){
12		var modalStr;	
13		switch($(this).data('mode')){
14			case "reply"  : 
15				modalStr = '댓글쓰기';
16				$("#nomember-info").data( "target", '');			
17				break;
18
19			case "sub_reply" : 
20				modalStr = '답글쓰기'; 			
21				$("#nomember-info").data( "target", event.data.reply_parent_idxno);
22				
23				break;			
24		}
25
26		$("#reply-modal .reveal-title").html(modalStr);	
27		$("#reply-modal").foundation('open');
28
29	},
30
31	// 댓글옵션 
32	viewOption:function(event) {
33
34		if($(this).siblings('.comments-more-option').css("display") == "none") {
35			$(".comments-more-option").hide();
36			$(this).siblings('.comments-more-option').show();
37		} else {		
38			$(this).siblings('.comments-more-option').hide();
39		}
40
41	},
42
43	// 삭제옵션 
44	setDeleteOption:function(event){
45
46		$("#reply-delete-mode").val( $(this).closest('article').data('mode') );
47		$("#reply-delete-idxno").val( $(this).closest('article').data('idxno') );
48		$("#reply-delete-reply-parent-idxno").val( $(this).closest('article').data('reply-parent-idxno') );
49
50		if( $(this).closest('article').data('is-member') == 'Y'){
51			$("#delete-password-field").hide();
52		}	
53
54		$("#reply-delete-modal").foundation('open');
55
56	},
57
58	// 추천
59	setVote:function(evnet){
60		var $o = $(this);
61		var idxno = $o.closest('article').data('idxno');
62
63		if($o.attr('id').indexOf('vote-up') != '-1'){
64			var voteType = "recommend";
65			var tempClass = "fa-thumbs-o-up";
66		}else if($o.attr('id').indexOf('vote-down') != '-1'){
67			var voteType = "dissent";
68			var tempClass = "fa-thumbs-o-down";
69		}
70		
71		
72		$o.find("i").removeClass(tempClass);
73		$o.find("i").addClass('fa-spinner fa-spin');
74					
75		$.ajax({
76					  type: "post",
77					  dataType: "json",
78					  url: "ajaxReplyVote.php",
79					  data:{
80						  idxno:idxno,
81						  voteType:voteType
82					  },
83					  success: function(json) {
84						  if(json.result == 'success'){
85							  var temp = $o.find("span:last").text();
86							  $o.find("span:last").text(parseInt(temp) + 1);
87						  }else{
88							  alert(json.msg);
89						  }
90					  },
91					  error: function(e) {
92						 alert('정상처리되지 않았습니다.');
93					  },
94					  complete:function(){
95						  $o.find("i").removeClass('fa-spinner fa-spin');
96						  $o.find("i").addClass(tempClass);
97					  }
98		});	
99	},
100
101	// 답글
102	getSubReplyView:function(evnet){
103		var $o = $(this);
104		var idxno = $o.closest('article').data('idxno');
105		var $target = $("#sub-view-" + idxno);
106		
107		
108
109		if($o.data('load') == 'on'){
110			$target.toggle();
111		}else{
112
113			$.ajax({
114				  type: "post",
115				  dataType: "html",
116				  url: "ajaxGetSubReply.php",
117				  data:{
118					  parent_idxno:reply.parent_idxno,
119					  reply_parent_idxno:idxno,
120					  captchaEnable:reply.captchaEnable,
121					  replyAll:reply.replyAll,
122					  reply_sc_order_by:reply.reply_sc_order_by,
123					  reply_page:reply.reply_page,
124					  table:reply.reply_bbs_table
125				  },
126				  success: function(data) {
127					 $target.html(data);
128					 $target.find(".comments-more-btn").on('click', reply.viewOption);									// 댓글옵션 이벤트
129					 $target.find(".reply-delete-btn").on('click', reply.setDeleteOption);								// 댓글삭제 이벤트
130					 $target.find(".reply-subwrite-btn").on('click', {reply_parent_idxno:idxno}, reply.replyWrite);		// 답글달기 									 
131					 $target.find("#content-"+idxno).on('keyup', {reply_parent_idxno:idxno},  reply.getTextLength);		// 글자계산 											 
132					 $target.find(".vote-btn").on('click', reply.setVote);												// 추천반대
133
134					 $target.show();
135					 $o.attr('data-load','on');
136				  },
137				  error: function(e) {
138					 alert('정상처리되지 않았습니다.');
139				  }
140			});	
141		}
142	},
143
144	// 비회원 글쓰기
145	noMemberCheck:function(event){
146		
147		
148		var teget_idxno = $("#nomember-info").data('target');	
149		var $reply_container =			 (teget_idxno)?$("#reply-container-"+teget_idxno):$("#reply-container");
150		var $reply_write_btn =			 (teget_idxno)?$("#reply-write-btn-"+teget_idxno):$("#reply-write-btn");
151		var $nomember_name_target =	     (teget_idxno)?$("#reply-insert-name-"+teget_idxno):$("#reply-insert-name");
152		var $nomember_password_target =  (teget_idxno)?$("#reply-insert-password-"+teget_idxno):$("#reply-insert-password");
153		var $nomember_captcha_target =   (teget_idxno)?$("#g-recaptcha-response-"+teget_idxno):$("#g-recaptcha-response");	
154		var alidationflag = true;
155
156		//alert(("#reply-container"+teget_idxno) );
157
158		if($("#nomember-name").val() == ''){
159			alert('이름을 입력하세요');
160			$("#nomember-name").focus();
161			return false; 
162		}
163		
164		if($("#nomember-password").val() == ''){
165			alert('비밀번호를 입력하세요');
166			$("#nomember-password").focus();
167			return false; 
168		}	
169
170		if(!reCapVal || reCapVal == 'undefined') {
171			alert('자동등록방지 확인을 진행하세요');
172			return false; 
173		} 
174		
175		$("#login-member").text( $("#nomember-name").val() );
176		
177		$nomember_name_target.val( $("#nomember-name").val() );
178		$nomember_password_target.val( $("#nomember-password").val() );	
179		$nomember_captcha_target.val( $("#nomember-captcha").val() );
180
181
182		$reply_container.show();
183		$reply_write_btn.hide();
184
185		$("#reply-modal").foundation('close');
186
187		
188	},
189
190	modalCloser:function(event){
191		
192	  var modal = $(this);
193	  switch(modal.attr('id')){
194		  case "reply-modal" : 
195			$("#nomember-info").hide();				// 비회원 입력폼 안보이도록 초기하
196			break;
197		  case "reply-delete-modal":
198			$("#delete-password-field").show();		// 댓글삭제 보이도록 초기화 
199			break;
200	  }
201
202	},
203
204	getTextLength:function(event){
205		o = $(this);
206		var cur = Math.min(o.val().length, 400);
207		
208
209		if(event.data.reply_parent_idxno) $('#reply-cur-text-'+event.data.reply_parent_idxno).text(cur);
210		else $('#reply-cur-text').text(cur);
211
212		if(o.val().length > cur) o.val(  o.val().substring(0, cur) );
213		o.css('height', '40px');
214		o.css('height', o.prop('scrollHeight'));		
215	}
216
217}
218
219

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.