PageSourceSearch

https://cdn.kndaily.co.kr/script/user.style.js

js kndaily.co.kr collected 2026-10-02 22:38:40 UTC 4,395 bytes, 113 lines download raw bytes

1$(document).ready(function(){
2	var $wrapBody = $("#user-wrap")
3		, $fontsOption = $wrapBody.find(".fonts-option")
4		, $fontsBtn = $fontsOption.find(".fonts-btn")
5		, $fontsPanel = $fontsOption.find(".fonts-option-panel");
6
7
8	// 폰트크기
9	$fontsBtn.on({
10		click: function(){
11			if($fontsPanel.css("display") == "block") {
12				$fontsPanel.hide();
13				$fontsBtn.removeClass("active");
14			} else {
15				$fontsPanel.show();
16				$fontsBtn.addClass("active");
17			}
18		}
19	});
20
21	// 기사본문 폰트사이즈 이벤트 new
22	$('#article-view').on('click', '.fontsise-btn', function(e){
23		var changeType  = $(this).val();
24		var newFontSize = nowFontSize = get_article_fontsize();
25		if(changeType == "up")          newFontSize = parseInt(nowFontSize) + 1;
26		else if(changeType == "down")   newFontSize = parseInt(nowFontSize) - 1;
27		if(newFontSize < 15 || newFontSize > 20) newFontSize = nowFontSize;
28		Util.setCookie("article-view-page-fontsize", newFontSize, 30);
29		change_article_fontsize(newFontSize);
30	});
31
32	// 기사본문 폰트사이즈 이벤트 old 호환
33	$('.article-view-header, #article-header-title').on('click', '.fontsize-radio', function(e){
34		var newFontSize = $(this).val();
35		Util.setCookie("article-view-page-fontsize", newFontSize, 30);
36		change_article_fontsize(newFontSize);
37	});
38
39	// 폰트클래스 변경
40	function change_article_fontsize(fontsize) {
41		$('.view-page').removeClass('font-size15 font-size16 font-size17 font-size18 font-size19 font-size20').addClass('font-size'+fontsize);
42	}
43
44	// 쿠키가져오기
45	function get_article_fontsize() {
46		var cookieFontsize = Util.getCookie("article-view-page-fontsize");
47		if(cookieFontsize == "" || isNaN(cookieFontsize)) cookieFontsize = "18";
48		return cookieFontsize;
49	}
50
51	function init_article_fontsize() {
52		change_article_fontsize(get_article_fontsize());
53	}
54
55	/* 초기 실행 */
56	init_article_fontsize();
57
58	// dropdown for font size setting(2025)
59	const FONTSIZE_DROPDOWN = $(".fontsize-dropdown");
60	const FONTSIZE_PARENT 	= FONTSIZE_DROPDOWN.find(".fontsize-container");
61	const FONTSIZE_ITEM 	= FONTSIZE_PARENT.find(".fontsize-slider-item");
62	const FONTSIZE_CONTENT 	= $('#article-view-content-div');
63	const FONTSIZE_ACTIVE 	= "active";
64	const FONTSIZE_STEP 	= 5;
65
66	FONTSIZE_DROPDOWN
67	.on("show.zf.dropdown", function(e) {
68		$(e.currentTarget).find(".btn-close").attr("tabindex", "1").show();
69	})
70	.on("hide.zf.dropdown", function(e) {
71		$(e.currentTarget).find(".btn-close").attr("tabindex", "-1").hide();
72	})
73	.on("click", "[data-fontsize]", function(e) {
74		const _newFontSize = $(e.currentTarget).data("fontsize");
75
76		Util.setCookie("article-view-page-fontsize", _newFontSize, 30);
77		change_atlview_fontsize(_newFontSize, FONTSIZE_PARENT, FONTSIZE_ITEM, FONTSIZE_CONTENT, FONTSIZE_ACTIVE, FONTSIZE_STEP);
78	})
79	.on("click", ".btn-close", function(e) {
80		$(e.delegateTarget).foundation("close");
81	});
82
83	// change for font classes
84	function change_atlview_fontsize(fontsize, parent, item, content, activeClass, stepCount) {
85		content.removeClass('font-size16 font-size18 font-size20 font-size22 font-size24').addClass('font-size'+fontsize);
86		item.removeClass(activeClass);
87		$("[data-fontsize="+ fontsize +"]").addClass(activeClass);
88		item.each(function(i, e) {
89			if($(e).hasClass(activeClass)) {
90				const _data = $(e).data("step");
91				const _offset = Number((100 / stepCount) * (_data - 1)) + "%"; 
92				parent.attr("style", "--nd-slider-icon-left:"+_offset+";--nd-slider-preview-font-size:" + Number(fontsize * 0.0625) + "rem;");
93			}							
94		});
95	}
96
97	function init_atlview_fontsize() {
98		change_atlview_fontsize(get_article_fontsize(), FONTSIZE_PARENT, FONTSIZE_ITEM, FONTSIZE_CONTENT, FONTSIZE_ACTIVE, FONTSIZE_STEP);
99	}
100
101	// run program
102	init_atlview_fontsize();
103});
104
105/***
106after, append, before 등 HTML 삽입시 script 링크는 자체적으로 ajax 호출을 시도함
107이때 ajax options cache=false가 되어 캐시가 안되니 옵션을 바꾸어 줌(banner로 한정하여 다른곳에 영향을 줄임)
108https://api.jquery.com/jQuery.ajaxPrefilter/
109***/
110$.ajaxPrefilter(function(options, originalOptions, jqXHR){
111	var o=options, oo=originalOptions;
112	if(o.url.indexOf("/bannerpop/uploads/")>0 && oo.async===false && oo.dataType=="script" && o.dataType==oo.dataType) options.cache=true;
113});

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.