1$(document).ready(function(e) { 2 var checkBrowser = function() { 3 var agt = navigator.userAgent.toLowerCase(); 4 if (agt.indexOf("chrome") != -1) return 'Chrome'; 5 if (agt.indexOf("opera") != -1) return 'Opera'; 6 if (agt.indexOf("staroffice") != -1) return 'Star Office'; 7 if (agt.indexOf("webtv") != -1) return 'WebTV'; 8 if (agt.indexOf("beonex") != -1) return 'Beonex'; 9 if (agt.indexOf("chimera") != -1) return 'Chimera'; 10 if (agt.indexOf("netpositive") != -1) return 'NetPositive'; 11 if (agt.indexOf("phoenix") != -1) return 'Phoenix'; 12 if (agt.indexOf("firefox") != -1) return 'Firefox'; 13 if (agt.indexOf("safari") != -1) return 'Safari'; 14 if (agt.indexOf("skipstone") != -1) return 'SkipStone'; 15 if (agt.indexOf("msie") != -1) return 'Internet Explorer'; 16 if (agt.indexOf("netscape") != -1) return 'Netscape'; 17 if (agt.indexOf("mozilla/5.0") != -1) return 'Mozilla'; 18 } 19 20 function onCheckDevice() { 21 var isMoble = (/(iphone|ipod|ipad|android|blackberry|windows ce|palm|symbian)/i.test(navigator.userAgent)) ? "mobile" : "pc"; 22 $("body").addClass(isMoble); 23 24 var deviceAgent = navigator.userAgent.toLowerCase(); 25 var agentIndex = deviceAgent.indexOf('android'); 26 27 if(agentIndex != -1) { 28 var androidversion = parseFloat(deviceAgent.match(/android\s+([\d\.]+)/)[1]); 29 30 $("body").addClass("android"); 31 32 // favicon(); 33 34 if(androidversion < 4.1) { 35 $("body").addClass("android_old android_ics"); 36 } 37 else if(androidversion < 4.3) { 38 $("body").addClass("android_old android_oldjb"); 39 } 40 else if(androidversion < 4.4) { 41 $("body").addClass("android_old android_jb"); 42 } 43 else if(androidversion < 5) { 44 $("body").addClass("android_old android_kk"); 45 } 46 else if(androidversion < 6) { 47 $("body").addClass("android_old"); 48 } 49 50 if(checkBrowser() == 'Firefox' 51 || checkBrowser() == 'Mozilla') { 52 $("body").removeClass("android_ics android_oldjb android_jb android_kk"); 53 } 54 else if(checkBrowser() == "Chrome") { 55 var chromeVersion = parseInt(deviceAgent.substring(deviceAgent.indexOf("chrome") + ("chrome").length + 1)); 56 57 if(chromeVersion > 40) { 58 $("body").removeClass("android_old android_ics android_oldjb android_jb android_kk"); 59 } 60 else { 61 $("body").removeClass("android_ics android_oldjb android_jb android_kk"); 62 } 63 } 64 } 65 else if(deviceAgent.match(/msie 8/) != null || deviceAgent.match(/msie 7/) != null) { 66 $("body").addClass("old_ie"); 67 } 68 else if(deviceAgent.match(/iphone|ipod|ipad/) != null) { 69 $("body").addClass("ios"); 70 } 71 } 72 73 onCheckDevice(); 74 75 // css check 76 window.checkSupported = function(property) { 77 return property in document.body.style; 78 } 79 80 81 // dropdown list 82 var dropList = (function() { 83 function init() { 84 var time = 150; 85 86 // dropdown list 87 $(document).on("change", ".dropLst .hidradio", function(evt) { 88 var groupName = $(this).attr("name"); 89 var radios = $(".hidradio[name=" + groupName + "]"); 90 var checked = radios.filter(function() { return $(this).prop("checked") === true; }); 91 var text = $(checked).parents("label").find(".value").text(); 92 var list = $(checked).parents(".dlst").eq(0); 93 94 $(list).find("label").removeClass("on"); 95 $(checked).parents("label").eq(0).addClass("on"); 96 97 if($(list).siblings(".txt").find(".val").length > 0) { 98 $(list).siblings(".txt").find(".val").text(text); 99 } 100 else { 101 $(list).siblings(".txt").text(text); 102 } 103 104 $(list).siblings(".txt").removeClass("on"); 105 $(checked).parents(".dlst").slideUp(time); 106 }).on("click", ".dropLst > a", function(evt) { 107 evt.preventDefault(); 108 109 var label = $(this); 110 var target = $(this).parents(".dropLst").eq(0); 111 var list = $(this).siblings(".dlst"); 112 var openList = $(".dropLst").filter(function() { return $(this).find(".dlst").css("display") != "none" && $(this) != target }); 113 114 $(openList).find(".dlst").stop().slideUp(time); 115 $(target).find(" > a").removeClass("on").addClass("active"); 116 117 $(list).stop().slideToggle(time, function() { 118 if($(this).css("display") != "none") $(label).addClass("on"); 119 else $(label).removeClass("on"); 120 121 $(label).removeClass("active"); 122 }); 123 }).on("click", ".dropLst li a", function(evt) { 124 var value = $(this).text(); 125 126 $(this).parents(".dlst").eq(0).stop().slideUp(time, function() { 127 if($(this).siblings(".txt").find(".val").length > 0) { 128 $(this).siblings(".txt").find(".val").text(value); 129 } 130 else { 131 $(this).siblings(".txt").text(value); 132 } 133 134 $(this).siblings(".txt").focus(); 135 }); 136 137 $(".dropLst > a").removeClass("on"); 138 139 $(this).parents(".dlst").eq(0).find("li a").removeClass("on"); 140 $(this).addClass("on"); 141 }).on("keyup", ".dropLst > a", function(evt) { 142 var keyCode = evt.keyCode; 143 144 var target = $(this).parents(".dropLst").eq(0); 145 var list = $(this).siblings(".dlst"); 146 var chkRadio = $(this).siblings(".dlst").find(".hidradio:checked"); 147 var hoverRadio = $(list).find(".hover"); 148 var idx = -1; 149 150 if(hoverRadio.length < 1) idx = (chkRadio.parents("li").eq(0).index() > -1) ? chkRadio.parents("li").eq(0).index() : 0; 151 else idx = hoverRadio.parents("li").eq(0).index(); 152 153 var openList = $(list).filter(function() { return $(this).css("display") != "none" }); 154 if(openList.length < 1) return false;
155 156 if(keyCode == 13) { 157 $(list).find("li").find(".hover").find(".hidradio").prop("checked", true).trigger("change"); 158 $(list).find("label").removeClass("hover"); 159 } 160 else if(keyCode == 38 || keyCode == 37) { 161 $(list).find("label").removeClass("hover"); 162 163 if(idx == 0) $(list).find("li").eq($(list).find("li").length - 1).find("label").addClass("hover"); 164 else $(list).find("li").eq(idx - 1).find("label").addClass("hover"); 165 } 166 else if(keyCode == 40 || keyCode == 39) { 167 $(list).find("label").removeClass("hover"); 168 169 if(idx == ($(list).find("li").length - 1)) $(list).find("li").eq(0).find("label").addClass("hover"); 170 else $(list).find("li").eq(idx + 1).find("label").addClass("hover"); 171 } 172 }).on("focus", ".dropLst .dlst label", function(evt) { 173 $(this).on("keyup", addEnterKeyEvent); 174 }).on("blur", "label", function(evt) { 175 $(this).off("keyup", addEnterKeyEvent); 176 }).on("click touchstart", function(evt) { 177 var evt = evt ? evt : event; 178 var target = null; 179 180 if (evt.srcElement) target = evt.srcElement; 181 else if (evt.target) target = evt.target; 182 183 var openList = $(".dropLst").filter(function() { return $(this).find(".dlst").css("display") != "none" }); 184 var activeList = $(".dropLst").filter(function() { return $(this).find(".txt").hasClass("on") === true }); 185 if($(target).parents(".dropLst").eq(0).length < 1) { 186 $(openList).find(".dlst").slideUp(time); 187 $(".dropLst > a").removeClass("on").removeClass("active"); 188 } 189 else if(activeList.length > 0) { 190 if(evt.type == "click") { 191 activeList.find(".txt").removeClass("on").removeClass("active"); 192 } 193 } 194 }); 195 196 function addEnterKeyEvent(evt) { 197 var keyCode = evt.keyCode; 198 if(keyCode == 13) { 199 $(this).children(".hidradio").prop("checked", true).trigger("change"); 200 $(this).parents(".dropLst").eq(0).find(".txt").focus(); 201 } 202 } 203 204 // init dropdown list value 205 $(".dropLst").each(function(i) { 206 var groupName = $(this).find(".hidradio").eq(0).attr("name"); 207 var radios = $(".hidradio[name=" + groupName + "]"); 208 var checked = $(radios).filter(function() { return $(this).prop("checked") === true; }); 209 var list = $(this).find(".dlst"); 210 var text = null; 211 212 if(radios.length > 0 && checked.length > 0) { 213 text = (checked.length > 0) ? $(checked).parents("label").find(".value").text() : radios.eq(0).siblings(".value").text(); 214 215 $(list).find("label").removeClass("on").attr("tabindex", 0); 216 $(list).find("label input").attr("tabindex", -1); 217 if (checked.length > 0) { 218 $(checked).parents("label").eq(0).addClass("on"); 219 } 220 else { 221 radios.eq(0).parents("label").eq(0).addClass("on"); 222 } 223 } 224 else { 225 text = (list.find(".value.on").length > 0) ? list.find(".value.on").text() : (($(this).find(".txt .val").length > 0) ? $(this).find(".txt .val").text() : $(this).find(".txt").text()); 226 } 227 228 if($(list).siblings(".txt").find(".val").length > 0) { 229 $(list).siblings(".txt").find(".val").text(text); 230 } 231 else { 232 $(list).siblings(".txt").text(text); 233 } 234 }); 235 } 236 237 return { 238 init : init 239 }; 240 }()); 241 242 dropList.init(); 243 244}); 245 246 247//ì ë í¸ë°ì¤ 248$(document).ready(function(){ 249 const label = document.querySelectorAll('.label'); 250 label.forEach(function(lb){ 251 lb.addEventListener('click', e => { 252 let optionList = lb.nextElementSibling; 253 let optionItems = optionList.querySelectorAll('.optionItem'); 254 clickLabel(lb, optionItems); 255 }) 256 }); 257 const clickLabel = (lb, optionItems) => { 258 if(lb.parentNode.classList.contains('active')) { 259 lb.parentNode.classList.remove('active'); 260 optionItems.forEach((opt) => { 261 opt.removeEventListener('click', () => { 262 handleSelect(lb, opt) 263 }) 264 }) 265 } else { 266 lb.parentNode.classList.add('active'); 267 optionItems.forEach((opt) => { 268 opt.addEventListener('click', () => { 269 handleSelect(lb, opt) 270 }) 271 }) 272 } 273 } 274 const handleSelect = (label, item) => { 275 label.innerHTML = item.textContent; 276 label.parentNode.classList.remove('active'); 277 } 278});
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.