1/*================================================================== 2 3 frame.js 4 5==================================================================*/ 6 7jQuery(function ($) { 8 /*------------------------------------------------ 9 10 [ setting ] 11 12 hws : header_wrap ã®ã¹ã¯ãã¼ã«ã¤ãã³ã 13 type 14 aï¼header_wrapãç¹å®ã®Y(adjust)ã¯ã©ã¹ä»ä¸(header_wrap_change) 15 opt 16 hwInitHeight : [å¿ é ]åæã®header_wrap.outerHeight(true) * ãã¼ã¸ã³å«ã 17 adjust : å¤åããY header_wrap.height ã«å ç®å 18 bï¼header_wrapãé常ã¹ã¯ãã¼ã«ã®å¾å表示 & ã¯ã©ã¹ä»ä¸(header_wrap_change) 19 opt 20 hwInitHeight : [å¿ é ]åæã®header_wrap.outerHeight(true) * ãã¼ã¸ã³å«ã 21 adjust : å¤åããY header_wrap.height ã«å ç®å 22 cï¼ä¸ã«ã¹ã¯ãã¼ã«ã§header_wrapé表示ã»ä¸ã«ã¹ã¯ãã¼ã«ã§è¡¨ç¤º 23 opt - 24 hwInitHeight : [å¿ é ]åæã®header_wrap.outerHeight(true) * ãã¼ã¸ã³å«ã 25 adjust : å¤åããY header_wrap.height ã«å ç®å 26 zï¼ã¢ã¯ã·ã§ã³ãªã 27 opt - 28 (sample) 29 pc : { adjust : 100 } 30 31------------------------------------------------*/ 32 33 var setting = { 34 hws: { 35 type: { 36 sp: 'a', 37 spyoko: 'c', // spã¢ã¼ã & 横åã â» 'c'æ¨å¥¨ 38 tb: 'a', 39 pc: 'a', 40 }, 41 opt: { 42 sp: { hwInitHeight: 91, adjust: 200 }, 43 spyoko: { hwInitHeight: 91, adjust: 200 }, 44 tb: { hwInitHeight: 91, adjust: 200 }, 45 pc: { hwInitHeight: 121, adjust: 200 }, 46 }, 47 }, 48 }; 49 50 /*------------------------------------------------ 51 52 [ structure ] 53 54------------------------------------------------*/ 55 56 var // dom base 57 $container = $('.container'), 58 $hw = $('#header_wrap'), 59 $gnav = $('#gnav'), 60 $gnavHandle = $('#gnav_btn'), 61 // resize 62 status = 'none', // sp( max599 ) / sp_yoko( min600&max1024&yoko ) / tb( min600&max1024 ) / pc( min1025 ) 63 // hws : header_wrap_scroll 64 hwsFlag = true, // hwså®è¡ãã©ã° 65 hwsType, // hwsã¿ã¤ã a / b / c 66 hwsOpt = {}, // hwsãªãã·ã§ã³ 67 hwh, // #header_wrap.outerHeight() 68 st, // scrollTop 69 hwsOptHWIH, // hwsOpt header_wrapé«ãåæå¤ * å¿ é 70 hwsOptAdjs, // hwsOpt adjust 71 // gno : gnav_open 72 gnoFlag = true, // gnoå®è¡ãã©ã° 73 winlock, // windowLockãã©ã° 74 tmpst; // winlockæã®scrollTop 75 76 /* --- main --- */ 77 function main() { 78 // status夿´æ1åã ãå®è¡ 79 if (window.matchMedia('(max-width:599px)').matches) { 80 statusChange('sp'); 81 } else if ( 82 window.matchMedia('(max-width:1024px)').matches && 83 window.innerWidth > window.innerHeight 84 ) { 85 statusChange('spyoko'); 86 } else if (window.matchMedia('(max-width:1024px)').matches) { 87 statusChange('tb'); 88 } else { 89 statusChange('pc'); 90 } 91 } 92 93 /* sc : status_change */ 94 function statusChange(argStatus) { 95 // status 96 if (status !== argStatus) { 97 status = argStatus; 98 //console.log( 'status[ ' + status + ' ], argStatus[ ' + argStatus + ' ], hwsType[ ' + hwsType + ' ]' ); 99 // init : status夿´æ1åã ãå®è¡ 100 settingParse(status); 101 hwsInit(); 102 gnoInit(); 103 } 104 } 105 106 /* settingParse : status夿´æ1åã ãå®è¡ */ 107 function settingParse(argStatus) { 108 hwsType = setting.hws.type[argStatus]; 109 hwsOpt = setting.hws.opt[argStatus]; 110 // body 㨠header_wrap ã«ã¯ã©ã¹ä»ä¸ 111 wrapClass(); 112 } 113 114 /* --- setup : readyã§ä»¥ä¸ãscrollã«ãã¤ã³ã --- */ 115 function setup() { 116 // core 117 gnoCore(); 118 hwsCore(); 119 } 120 121 /*------------------------------------------------ 122 123 [ fn : hws ] 124 header_wrap ã®ã¹ã¯ãã¼ã«ã¤ãã³ã 125 126------------------------------------------------*/ 127 128 /* hwsInit : status夿´æ1åã ãå®è¡ */ 129 function hwsInit() { 130 // hwsOpt 131 hwsOptHWIH = 'hwInitHeight' in hwsOpt ? hwsOpt.hwInitHeight : 'error'; // hwh åæå¤ 132 hwsOptAdjs = 'adjust' in hwsOpt ? hwsOpt.adjust : 100; // headerWrap åºå®ãããYåº§æ¨ 133 hwsOptAdjs = hwsOptAdjs < 10 ? 10 : hwsOptAdjs; // æå°å¤ã10px 134 135 // hws_base 136 st = $(window).scrollTop(); 137
138 // readyç¶æ ã®ã®header_wrap.height åå¾ï¼* wpadminbarèª¿æ´ & containerã®padding-top調æ´ï¼ 139 if (hwsOptHWIH === 'error') { 140 alert('å¿ é hwhåæå¤ãè¨å®ããã¦ãã¾ããï¼'); 141 } else { 142 $hw.css({ top: wpadminbarheight() }); 143 hwh = hwsOptHWIH + wpadminbarheight(); 144 $container.css({ 'padding-top': hwsOptHWIH }); 145 } 146 147 // åã¿ã¤ãåæå¤ 148 /* hws-a */ 149 if (hwsFlag && hwsType === 'a') { 150 $hw.css({ position: 'fixed' }); 151 if (st < hwh + hwsOptAdjs) { 152 $hw.removeClass('header_wrap_change'); 153 } else { 154 $hw.addClass('header_wrap_change'); 155 } 156 /* hws-b */ 157 } else if (hwsFlag && hwsType === 'b') { 158 if (st < hwh) { 159 $hw 160 .removeClass('header_wrap_change') 161 .css({ top: 0, position: 'absolute' }); 162 } else if (st < hwh + hwsOptAdjs / 2) { 163 $hw 164 .addClass('header_wrap_change') 165 .css({ top: -1 * hwh, position: 'absolute' }); 166 } else if (st < hwh + hwsOptAdjs) { 167 $hw.addClass('header_wrap_change'); 168 var tempHwh = $hw.outerHeight(); 169 $hw.css({ top: -1 * tempHwh, position: 'fixed' }); 170 } else { 171 $hw.css({ top: 0, position: 'fixed' }); 172 } 173 /* hws-c */ 174 } else if (hwsFlag && hwsType === 'c') { 175 $hw.css({ position: 'fixed' }); 176 if (st < hwh + hwsOptAdjs) { 177 $hw.removeClass('header_wrap_change'); 178 } else { 179 $hw.addClass('header_wrap_change'); 180 } 181 } 182 } 183 184 /* hwsCore : readyã§ä»¥ä¸ãscrollã«ãã¤ã³ã */ 185 function hwsCore() { 186 var before = $(window).scrollTop(); 187 188 $(window).on('scroll', function () { 189 st = $(this).scrollTop(); 190 191 /* hws-a */ 192 if (hwsFlag && hwsType === 'a') { 193 if (st < hwh + hwsOptAdjs) { 194 $hw.removeClass('header_wrap_change'); 195 } else { 196 $hw.addClass('header_wrap_change'); 197 } 198 199 /* hws-b */ 200 } else if (hwsFlag && hwsType === 'b') { 201 if (st < hwh) { 202 $hw.css({ top: 0 }); 203 } else if (st < hwh + hwsOptAdjs / 2) { 204 $hw 205 .removeClass('header_wrap_change') 206 .css({ top: -1 * hwh, position: 'absolute' }); 207 } else if (st < hwh + hwsOptAdjs) { 208 $hw.addClass('header_wrap_change'); 209 var tempHwh = $hw.outerHeight(); 210 $hw.css({ top: -1 * tempHwh, position: 'fixed' }); 211 } else { 212 $hw.css({ top: 0 }); 213 } 214 215 /* hws-c */ 216 } else if (hwsFlag && hwsType === 'c') { 217 // downï¼ãã¼ã¸ãä¸ã«ç§»å scrollDownï¼ 218 if (st > before && st > hwh) { 219 $hw.css({ top: -1 * hwh }); 220 // upï¼ãã¼ã¸ãä¸ã«ç§»å scrollUpï¼ 221 } else { 222 $hw.css({ top: 0 }); 223 } 224 if (st < hwh + hwsOptAdjs) { 225 $hw.removeClass('header_wrap_change'); 226 } else { 227 $hw.addClass('header_wrap_change'); 228 } 229 before = st; 230 } 231 }); 232 } 233 234 /*------------------------------------------------ 235 236 [ fn : gno ] 237 gno : gnav ã®sp/tbã§ã®ãªã¼ãã³ã¤ãã³ã 238 239------------------------------------------------*/ 240 241 /* gnoInit : status夿´æ1åã ãå®è¡ */ 242 function gnoInit() { 243 if (status === 'pc') { 244 $gnav 245 .css({ top: '', paddingTop: '', marginLeft: '', width: '' }) 246 .show() 247 .removeClass('open'); 248 windowLock('off'); 249 } else { 250 // gnav éããç¶æ ã§status_change ããå ´å 251 var gnavy = $hw.outerHeight(true) + $hw.position().top; 252 $gnav.css({ top: gnavy }); 253 if (winlock === false) { 254 $gnav.removeClass('open'); 255 $gnavHandle.removeClass('close').addClass('menu').show(); 256 } 257 } 258 } 259 260 /* gnoCore : readyã§ä»¥ä¸ãscrollã«ãã¤ã³ã */ 261 function gnoCore() { 262 $gnavHandle.on('click', function () { 263 // gnav_open 264 if ($gnavHandle.hasClass('menu')) { 265 // hwsåé 266 hwsFlag = false; 267 // gno 268 gnoFlag = 'open'; 269 // gnav_close 270 } else if ($gnavHandle.hasClass('close')) { 271 // hws忢 272 hwsFlag = true; 273 // gno
274 gnoFlag = 'close'; 275 } 276 var gnavy = $hw.outerHeight(true) + $hw.position().top; 277 if (gnoFlag === 'open') { 278 $gnav.css({ top: gnavy }).addClass('open'); 279 $gnavHandle.removeClass('menu').addClass('close'); 280 } else { 281 $gnav.css({ top: gnavy }).removeClass('open'); 282 $gnavHandle.removeClass('close').addClass('menu'); 283 } 284 285 /* windowLock */ 286 if (gnoFlag === 'open') { 287 // window_lock 288 windowLock('on'); 289 } else { 290 // window_lock 291 windowLock('off'); 292 } 293 }); 294 } 295 296 /*------------------------------------------------ 297 298 [ fn : util ] 299 å©ç¨é¢æ° 300 301------------------------------------------------*/ 302 303 // wpadminbarã®é«ã 304 function wpadminbarheight() { 305 var h = 306 typeof $('#wpadminbar').outerHeight() === 'undefined' 307 ? 0 308 : $('#wpadminbar').outerHeight(); 309 return h; 310 } 311 312 // gnavãªã¼ãã³æã®ç»é¢ãã㯠313 function windowLock(arg) { 314 if (arg === 'on') { 315 tmpst = $(window).scrollTop(); 316 $('body').css({ position: 'fixed', width: '100%', top: -1 * tmpst }); 317 winlock = true; 318 } else if (arg === 'off') { 319 tmpst = tmpst === undefined ? 0 : tmpst; 320 $('body').css({ position: '', width: '', top: '' }); 321 if (winlock) { 322 $(window).scrollTop(tmpst); 323 } 324 winlock = false; 325 } 326 } 327 328 // dom_wrap ã«ã¯ã©ã¹ä»ä¸ 329 function wrapClass() { 330 $('body') 331 .removeClass('status_sp status_spyoko status_tb status_pc') 332 .addClass('status_' + status); 333 $hw 334 .removeClass('hws_type_a hws_type_b hws_type_c hws_type_o') 335 .addClass('hws_type_' + hwsType); 336 } 337 338 /*------------------------------------------------ 339 --- run --- 340------------------------------------------------*/ 341 342 $(function () { 343 $(window).on('resize orientationchange', function () { 344 main(); 345 }); 346 main(); 347 setup(); 348 }); 349});
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.