1/****************************************************************** 2note : ë©ë´ë° JS v3.0.7 3name : ê¹ì§ì 4date : 2019-10-28 5 6[css class ì¤ëª ] 7.a-hover : hoverì ë©ì¸ ë©ë´ a íê·¸ ìì 8.a-active : íì¬ íì´ì§ or a-hover í´ëì¤ ì ì© ë©ë´ (style ìì) 9.a-sub-hover : hoverì ìë¸ ë©ë´ a íê·¸ ìì 10 11[ì¤í¬ë¦½í¸ ë³ì] 12menuIndexHold : index íì´ì§ ì¼ ë ë©ë´ a-hover ì¬ë¶ (true : 첫ë²ì¨° ë©ë´ a-hover / false : none) 13menuOverHold : hoverì ë©ë´ a-hover ê³ ì (true : íì¬íì´ì§ ë©ë´ a-hover ê³ ì / false : ê³ ì x) 14submenuStyle : ìë¸ë©ë´ í¼ì¹¨ ì¤íì¼ (horizon : ê°ë¡í, vertical : ì¸ë¡í) 15sizeMode : ì¬ì´ì¦ 모ë (basic : 기본 / full : ì ì²´) 16subShow : ìë¸ë©ë´ ë³´ì´ê¸° ( hold : ë ¸ì¶ / hidden : ë¹ë ¸ì¶ / page : pageììë§ ë ¸ì¶ ) - horizon ì¼ëë§ ì ì© 17submenuPosi : left / center / right 18effectSwitch : on / off - slide & fade í¨ê³¼ ì¬ì©ì¬ë¶ 19subSlideSpeed : ìë¸ë©ë´ slide down ìë(default = 300) 20subFadeSpeed : ìë¸ë©ë´ fade out ìë(default = 300) - vertical ì¼ëë§ ì ì© 21******************************************************************/ 22 23(function($){ 24 25 if(!$ || $=="undefined") return; 26 27 $(window).on("load", function() { 28 29 // íì¬íì´ì§ ì¹ì ì½ëê° 30 var mainSecCode = $("#header-wrapper").attr("data-main-code"); // 1ì°¨ 31 var subSecCode = $("#header-wrapper").attr("data-sub-code"); // 2ì°¨ 32 var serialSecCode = $("#header-wrapper").attr("data-serial-code"); // ì°ì¬ 33 var multiSecCode = $("#header-wrapper").attr("data-multi-code"); // ë¤ì¤ì¹ì 34 35 // index ì¼ë 첫ë²ì§¸ ì¹ì ì a-hover (menuIndexHold ê° trueì¼ ë) 36 if(menuIndexHold == true) { 37 if((mainSecCode.indexOf("index") == 1 || mainSecCode == "/" || mainSecCode == "/news/articleList.html" || mainSecCode == "/edit/webPublishing.php") && multiSecCode == "") { 38 $("ul#user-menu > li").first().children("a").addClass("a-hover a-active"); 39 } 40 } 41 42 // ë§í¬ ì¹ì ì½ë 43 var linkSecCode = ""; 44 45 $("ul#user-menu li").each(function(idx, ele){ 46 47 linkSecCode = $(ele).children("a").attr("data-code"); // ì¹ì ì½ë 48 49 /****************************************************************** 50 * note : add hover class 51 * 52 * [ì¤ëª ] 53 * ê° ì¹ì a íê·¸ì ì¤ì ë ì¹ì ì½ëê° menubar.php > #user-navì ì¤ì ë 54 * ì¹ì ì½ë(mainSecCode / subSecCode / serialSecCode)ì í¬í¨ëì´ ìë¤ë©´ 55 * í´ë¹ ì¹ì ì´ 1ì°¨ì´ë©´ a-hover, a-active í´ëì¤ë¥¼ 2ì°¨ì´ë©´ a-sub-hover í´ëì¤ë¥¼ ì¶ê°íë¤. 56 ******************************************************************/ 57 if([mainSecCode, subSecCode, serialSecCode, multiSecCode].indexOf(linkSecCode) >= 0){ 58 if($(ele).hasClass("secline")) { // 1ì°¨ 59 $("ul#user-menu > li > a").removeClass("a-hover"); // ì´ê¸°í 60 $(ele).children("a").addClass("a-hover a-active"); 61 } else { // 2ì°¨ 62 $("ul#user-menu > li > ul > li > a").removeClass("a-sub-hover"); // ì´ê¸°í 63 $(ele).children("a").addClass("a-sub-hover"); 64 if($(ele).children("a").hasClass("a-sub-hover")){ 65 $(ele).parent("ul").parent("li.secline").children("a").addClass("a-hover a-active"); 66 } 67 } 68 } 69 70 /****************************************************************** 71 * note : mouse hover event 72 * 73 * [ì¤ëª ë° ì°¸ê³ ] 74 * 2ì°¨ ë©ë´ë¥¼ show() / hide() ì ë°©ìì¼ë¡ ì²ë¦¬íì§ ìì ì´ì ë 75 * 2ì°¨ ë©ë´ê° ì¢/ì°ì¸¡ ì ë²ì´ë ê²½ì° ìì¹ê° ê³ì°ì ìí´ ì²ì 2ì°¨ ì¹ì ì ëì´ë¥¼ ê°ì ¸ìì¼ íëë°, 76 * display : none ì¸ ìíìì ëì´ë¥¼ ê°ì ¸ì¬ ì ì기 ë문ì visibility ì¤íì¼ì ì¬ì©íììµëë¤. 77 * (visibility:visible -> hide() -> slideDown() / slideDown() ë©ìëë display:noneì¸ ìíì¬ì¼ ëìí기 ë문) 78 ******************************************************************/ 79 if($(ele).hasClass("secline")){ 80 $(ele).hover(function(){ // mouse enter(over) 81 82 if(submenuStyle == "horizon") { // horizon 83 84 $("ul#user-menu > li > a").removeClass("a-hover"); // 1ì°¨ì¹ì a-hover ì´ê¸°í 85 $(ele).children("a").addClass("a-hover"); // í´ë¹ì¹ì (ë§ì°ì¤ì¤ë²) a-hover ì¶ê° 86 87 if(menuOverHold == true){ // ìµì ê° menuOverHold ê° true ì¼ë 88 89 $("ul#user-menu > li > ul").css("visibility", "hidden"); // 2ì°¨ì¹ì ì´ê¸°í 90 91 if($(ele).find("ul > li").length <= 0) return; // 2ì°¨ ì¹ì ì´ ìì¼ë©´ return 92 $("#user-nav").addClass("active"); // 2ì°¨ ì¹ì ë°°ê²½ 93 94 if($(ele).children("ul").is(":animated") == false){ // 2ì°¨ ì¹ì ëìíì§ ìì ë 95 if($(ele).children("a").hasClass("a-active")){ // 1ì°¨ ì¹ì ì´ a-active í´ëì¤ë¥¼ ê°ì§ê³ ìì ë 96 97 if(subShow == "hidden" || subShow == "page") { // 2ì°¨ 보기 ìµì (subShow)ì´ hidden ëë page ì¼ ë 98 99 if(effectSwitch == "on") { // ì¬ë¼ì´ë í¨ê³¼ on 100 $(ele).children("ul").css("visibility", "visible").hide().slideDown(subSlideSpeed); // 2ì°¨ 101 } else { // ì¬ë¼ì´ë í¨ê³¼ off 102 $(ele).children("ul").css("visibility", "visible"); // 2ì°¨ 103 } 104 105 } else { // 2ì°¨ 보기 ìµì (subShow)ì´ hold ì¼ ë 106 $(ele).children("ul").css("visibility", "visible"); // 2ì°¨ 107 } 108 109 } else { // 1ì°¨ ì¹ì ì´ a-active í´ëì¤ë¥¼ ê°ì§ê³ ìì§ ìì ë 110 111 if(effectSwitch == "on") { // ì¬ë¼ì´ë í¨ê³¼ on 112 $(ele).children("ul").css("visibility", "visible").hide().slideDown(subSlideSpeed); // 2ì°¨ 113 } else { // ì¬ë¼ì´ë í¨ê³¼ off 114 $(ele).children("ul").css("visibility", "visible"); 115 } 116 117 } 118 } 119 } else { // ìµì ê° menuOverHold ê° false ì¼ë 120 121 $("ul#user-menu > li").not($(ele)).children("ul").css({"visibility": "hidden"}); // í´ë¹ ì¹ì (ë§ì°ì¤ì¤ë²)ì ì ì¸í 2ì°¨ ì¹ì ì´ê¸°í 122 123 if($(ele).find("ul > li").length <= 0) return; // 2ì°¨ ì¹ì ì´ ìì¼ë©´ return 124 $("#user-nav").addClass("active"); // 2ì°¨ ì¹ì ë°°ê²½ 125 126 if($(ele).children("ul").is(":animated") == false){ // 2ì°¨ ì¹ì ëìíì§ ìì ë 127 if($(ele).children("ul").css("visibility") != "visible"){ // í´ë¹ 2ì°¨ ì¹ì ì´ ê°ì¶°ì ¸ ìì ë 128 129 $("ul#user-menu > li > ul").css({"visibility": "hidden"}); // 2ì°¨ ì´ê¸°í 130 if(effectSwitch == "on") { // ì¬ë¼ì´ë í¨ê³¼ on 131 $(ele).children("ul").css("visibility", "visible").hide().slideDown(subSlideSpeed); // 2ì°¨ 132 } else { // ì¬ë¼ì´ë í¨ê³¼ off 133 $(ele).children("ul").css("visibility", "visible"); // 2ì°¨ 134 } 135 } else { // í´ë¹ 2ì°¨ ì¹ì ì´ ê°ì¶°ì ¸ ìì§ ìì ë (ì¤ì ì ìí´ì¤ ì ê°ì ì¹ì ì ë§ì°ì¤ë¥¼ ì¬ë¦´ ëë§ë
135¤ ìëë¨) 136 $(ele).children("ul").css("visibility", "visible"); // 2ì°¨ 137 } 138 } 139 } 140 141 } else { // vertical 142 143 $("ul#user-menu > li > a").removeClass("a-hover"); // 1ì°¨ a-hover ì´ê¸°í 144 $(ele).children("a").addClass("a-hover"); // í´ë¹ ì¹ì ì a-hover ì¶ê° 145 146 if($(ele).find("ul > li").length <= 0) return; // 2ì°¨ê° ìì¼ë©´ return 147 if($(ele).children("ul").is(":animated") == false){ // 2ì°¨ ì¹ì ëìíì§ ìì ë 148 if(effectSwitch == "on") { // ì¬ë¼ì´ë í¨ê³¼ on 149 $(ele).children("ul").css("visibility", "visible").hide().slideDown(subSlideSpeed); // 2ì°¨ 150 } else { // ì¬ë¼ì´ë í¨ê³¼ off 151 $(ele).children("ul").css("visibility", "visible").show(); // 2ì°¨ 152 } 153 } 154 } 155 }, function(){ // mouse leave(out) 156 157 // ìµì ê° menuOverHoldê° trueì¼ ë 158 if(menuOverHold == true) { 159 $("ul#user-menu > li > a").removeClass("a-hover"); // ì´ê¸°í 160 $("ul#user-menu > li > a.a-active").addClass("a-hover"); // íì¬íì´ì§ ì¹ì ì a-hover í´ëì¤ ì¶ê° 161 } 162 163 if(submenuStyle == "horizon") { // horizon 164 165 $("#user-nav").removeClass("active"); // 2ì°¨ ì¹ì ë°°ê²½ 166 167 if(menuOverHold == true) { 168 169 $(ele).children("ul").css({"visibility": "hidden"}); // 2ì°¨ 170 171 if(subShow == "hold") { // 2ì°¨ ë©ë´ê° ê³ ì ì¼ ë 172 if($(".a-active").next("ul").find("li").length <= 0) return; // íì¬íì´ì§ ì¹ì ì 2ì°¨ ì¹ì ì´ ìì ë return 173 $(".a-active").next("ul").css("visibility", "visible"); // 2ì°¨ 174 } else if(subShow == "hidden") { // 2ì°¨ ë©ë´ê° ê³ ì ì´ ìë ë 175 $("ul#user-menu > li > ul").css({"visibility": "hidden"}); // 2ì°¨ 176 } else if(subShow == "page") { // 2ì°¨ ë©ë´ê° ë©ì¸ì ì ì¸í ëë¨¸ì§ íì´ì§ììë§ ê³ ì ì¼ ë 177 if(mainSecCode == "/index.html" || mainSecCode == "/index2.html" || mainSecCode == "/") { // ë©ì¸íë©´ ì¼ ë 178 $(".a-active").next("ul").css({"visibility": "hidden"}); // 2ì°¨ 179 } else { // ë©ì¸íë©´ì´ ìë ë 180 $(".a-active").next("ul").css("visibility", "visible"); // 2ì°¨ 181 } 182 } 183 184 } else { // menuOverHold == false 185 186 if(subShow == "hold"){ // 2ì°¨ ë©ë´ê° ê³ ì ì¼ ë 187 if($(ele).find("ul > li").length <= 0) return; // ë§ì°ì¤ê° ë²ìë ì¹ì ì 2ì°¨ ì¹ì ì´ ìì ë return 188 $(ele).children("ul").css("visibility", "visible"); // 2ì°¨ 189 } else if(subShow == "hidden") { // 2ì°¨ ë©ë´ê° ê³ ì ì´ ìë ë 190 $("ul#user-menu > li > ul").css({"visibility": "hidden"}); // 2ì°¨ 191 } else if(subShow == "page") { // 2ì°¨ ë©ë´ê° ë©ì¸ì ì ì¸í ëë¨¸ì§ íì´ì§ììë§ ê³ ì ì¼ ë 192 if(mainSecCode == "/index.html" || mainSecCode == "/index2.html" || mainSecCode == "/") { // ë©ì¸íë©´ ì¼ ë 193 $("ul#user-menu > li > ul").css({"visibility": "hidden"}); // 2ì°¨ 194 } else { // ë©ì¸íë©´ì´ ìë ë 195 $(ele).children("ul").css("visibility", "visible"); // 2ì°¨ 196 } 197 } 198 } 199 } else { // vertical 200 if(effectSwitch == "on") { // ì¬ë¼ì´ë í¨ê³¼ on 201 $(ele).children("ul").fadeOut(subFadeSpeed); 202 } else { // ì¬ë¼ì´ë í¨ê³¼ off 203 $(ele).children("ul").hide(); 204 } 205 } 206 }); 207 208 // ì¹ì ê·¼ì± focus - 1ì°¨ 209 $(ele).children("a").focus(function(){ 210 $("#user-nav").addClass("active"); 211 $("ul#user-menu > li > a").removeClass("a-hover"); 212 $("ul#user-menu > li > ul").css("visibility", "hidden"); 213 214 $(ele).children("a").addClass("a-hover"); 215 if($(ele).find("ul > li").length <= 0) return; 216 217 if($(ele).children("ul").css("display") != "block"){ 218 if(effectSwitch=="on"){ 219 $(ele).children("ul").css("visibility","visible").hide().slideDown(subSlideSpeed); 220 } else { 221 $(ele).children("ul").css("visibility","visible"); 222 } 223 } else { 224 $(ele).children("ul").css("visibility","visible"); 225 } 226 }); 227 228 // ì¹ì ê·¼ì± focus - 2ì°¨ 229 $(ele).find("ul > li").each(function(idx2, ele2){ 230 $(ele2).children("a").focus(function(){ 231 $("li.sub > a").removeClass("a-sub-hover"); 232 $(ele2).children("a").addClass("a-sub-hover"); 233 }); 234 }); 235 236 } 237 }); 238 239 // ì¹ì ê·¼ì± blur (focus out) 240 $("ul#user-menu > li").last().children("ul").children("li").last().children("a").blur(function(e){ 241 if(menuOverHold == true) { 242 $("#user-nav").removeClass("active"); 243 $("ul#user-menu > li > a").removeClass("a-hover"); 244 $("ul#user-menu > li > ul").css("visibility","hidden"); 245 $("ul#user-menu > li > a.a-active").addClass("a-hover"); 246 subShowFn(); // 2ì°¨ ë ¸ì¶ì¤ì 247 } else { 248 subShowFn(); // 2ì°¨ ë ¸ì¶ì¤ì 249 } 250 }); 251 252 253 /****************************************************************** 254 * note : 2ì°¨ ì¹ì ìì¹ê° ì ì© 255 * 256 * [ì°¸ê³ ] 257 * 1. parseInt(A, 10) : 문ì íì (A)ì ì«ì(10ì§ì) íì ì¼ë¡ ë³ê²½ 258 * 2. A.width() : ì íí ìì(A)ì ê°ë¡í¬ê¸°ë¥¼ ë°í (padding, border ì ì¸) 259 * 3. A.outerWidth() : ì íí ìì(A)ì ê°ë¡í¬ê¸°ë¥¼ ë°í (padding, border í¬í¨) 260 * 4. A.position().left : ì íí ìì(A)ì left ìì¹ê° ë°í. 261 * 5. Math.ceil(A) : Aê° ììì ì¬ë¦¼í ê°ì ë°í. 262 * 6. A.getBoundingClientRect() : Aì ëí ì ëê° ë°í.(ììì í¬í¨) 263 ******************************************************************/ 264 // ëì´êµ¬í기 (ììì í¬í¨) 265 function getWidth(ele) { 266 var rect = $(ele)[0].getBoundingClientRect(); 267 return rect.width; 268 } 269 270 $("ul#user-menu > li").each(function(){ 271 272 var bodyWidth = $(window).outerWidth(); // ì¬ì´í¸ ì ì²´ ëì´ 273 var navWidth = $("#user-nav").width(); // user-nav ì ì²´ ëì´ 274 var menuWidth = $("#user-menu").width(); // user-menu ì ì²´ ëì´ 275 var modeInner = $(".mode-inner").width(); // 기ì¤ëì´ 276 var allBtn = $(".user-menu").prev(".user-allbtn"); // ì ì²´ë©ë´ 277 var allBtnWidthCeil = (allBtn.length > 0) ? Math.ceil(getWidth(allBtn)) : 0; // ì ì²´ë©ë´ ë²í¼ ëì´ (ììì ì¬ë¦¼) 278 var allBtnWidth = (allBtnWidthCeil%2 > 0) ? (allBtnWidthCeil + 1) : allBtnWidthCeil; // ì ì²´ë©ë´ ë²í¼ ëì´ (íìë©´ + 1) 279 allBtn.css("width", allBtnWidth); // ì ì²´ë©ë´ ë²í¼ ëì´ ì ì© (1ì°¨ ì¹ì ìì¹ê°ì 구í기 ìí´ ëì´ ì ì©)
280 var secWidthCeil = Math.ceil(getWidth($(this))); // 1ì°¨ ëì´ (ììì ì¬ë¦¼) 281 var secWidth = (secWidthCeil%2 > 0) ? (secWidthCeil + 1) : secWidthCeil; // 1ì°¨ ëì´ (íìë©´ +1) 282 var secLeft = allBtnWidth + parseInt($(this).position().left, 10); // 1ì°¨ ìì¹ê° (left) 283 var secRight = parseInt(modeInner - (secWidth + secLeft), 10); // 1ì°¨ ìì¹ê° (right) 284 var subObj = ($(this).children("ul").length > 0) ? $(this).children("ul") : $(this); // 2ì°¨ ë©ë´ 285 var subWidthCeil = Math.ceil(getWidth(subObj)); // 2ì°¨ ë©ë´ ëì´ (ììì ì¬ë¦¼) 286 var subWidth = (subWidthCeil%2 > 0) ? (subWidthCeil + 1) : subWidthCeil; // 2ì°¨ ë©ë´ ëì´ (íìë©´ +1) 287 var leftOverWidth = 0; // 2ì°¨ ë©ë´ê° ì¼ìª½ ììì ì ëì´ê°ë ê° 288 var rightOverWidth = 0; // 2ì°¨ ë©ë´ê° ì¤ë¥¸ìª½ ëì ì ëì´ê°ë ê° 289 290 /********************************** 291 ê° ì¹ì ëì´ê° ì ì© 292 **********************************/ 293 $(this).css("width", secWidth); 294 if(submenuStyle == "vertical"){ 295 subObj.css("min-width", secWidth); 296 } else { 297 subObj.css("min-width", subWidth); 298 } 299 300 /********************************** 301 2ì°¨ ì¹ì ìì¹ê° ì ì© 302 **********************************/ 303 // ìëë°ì¤ ë ¸ì¶ì ì¤ì í ê²½ì° ìì¹ê° ì ì© x (vartical & $useAutobox = true) 304 if($("#header-wrapper").hasClass("vertical") && $("#header-wrapper").hasClass("nav-autobox")) return; 305 306 if(submenuPosi == "left") { // 2ì°¨ ìì¹ ì¤ì ê°ì´ left ì¼ ë 307
308 rightOverWidth = parseInt(subWidth - (secWidth + secRight), 10); // 2ì°¨ëì´ - (1ì°¨ëì´ + right ìì¹ê°) 309 310 // 2ì°¨ ì¹ì ì´ ì°ì¸¡ììì ë²ì´ë ê²½ì° 311 if(rightOverWidth > 0) { 312 $(this).children("ul").css({ 313 "margin-left" : -(rightOverWidth) 314 }); 315 } 316 317 } else if(submenuPosi == "center") { // 2ì°¨ ìì¹ ì¤ì ê°ì´ center ì¼ ë 318 319 leftOverWidth = parseInt(((subWidth - secWidth) / 2) - secLeft, 10); // ((2ì°¨ëì´ - 1ì°¨ëì´) ëë기 2) - leftìì¹ê° 320 rightOverWidth = parseInt(((subWidth - secWidth) / 2) - secRight, 10); // ((2ì°¨ëì´ - 1ì°¨ëì´) ëë기 2) - rightìì¹ê° 321 322 if(leftOverWidth > 0) { 323 // 2ì°¨ ì¹ì ì´ ì¢ì¸¡ì ë²ì´ë ê²½ì° 324 $(this).children("ul").css({ 325 "margin-left" : leftOverWidth 326 }); 327 } else if(rightOverWidth > 0) { 328 // 2ì°¨ ì¹ì ì´ ì°ì¸¡ì ë²ì´ë ê²½ì° 329 $(this).children("ul").css({ 330 "margin-left" : -(rightOverWidth) 331 }); 332 } 333 334 } else if(submenuPosi == "right") { // 2ì°¨ ìì¹ ì¤ì ê°ì´ right ì¼ ë 335 336 leftOverWidth = parseInt(subWidth - (secWidth + secLeft), 10); // 2ì°¨ëì´ - (1ì°¨ëì´ + left ìì¹ê°) 337 338 // 2ì°¨ ì¹ì ì´ ì¢ì¸¡ì ë²ì´ë ê²½ì° 339 if(leftOverWidth > 0) { 340 $(this).children("ul").css({ 341 "margin-right" : -(leftOverWidth) 342 }); 343 } 344 } 345 346 }); 347 348 /****************************************************************** 349 * note : 2ì°¨ì¹ì ë ¸ì¶ì¤ì 350 * 351 * [ì¤ëª ë° ì°¸ê³ ] 352 * - ë©ë´ì¤íì¼ì´ horizonì¼ ëë§ ì ì© 353 * - slideí¨ê³¼ë¥¼ ì ì¸í visibilityìì±ë§ ì¤ì (slideí¨ê³¼ë ìë¨ìì ë§ì°ì¤ ì¤ë² & ìì ìì 구ííììµëë¤.) 354 ******************************************************************/ 355 $("ul#user-menu > li").each(function(){ 356 subShowFn(); 357 }); 358 function subShowFn(){ 359 if(submenuStyle == "horizon"){ 360 if(subShow == "hold") { 361 if($(".a-active").next("ul").find("li").length <= 0) return; // íì¬íì´ì§ 1ì°¨ ì¹ì ì 2ì°¨ ì¹ì ì´ ìì¼ë©´ return 362 $(".a-active").next("ul").css("visibility", "visible"); // 2ì°¨ ì¹ì 363 } else if(subShow == "hidden") { 364 $(".a-active").next("ul").css("visibility", "hidden"); 365 } else if(subShow == "page") { 366 if(mainSecCode == "/index.html" || mainSecCode == "/index2.html" || mainSecCode == "/") { // indexì¼ ë 367 $(".a-active").next("ul").css("visibility", "hidden"); 368 } else { // indexê° ìë ë 369 $(".a-active").next("ul").css("visibility", "visible"); 370 } 371 } 372 } 373 } 374 375 }); 376 377})(jQuery);
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.