1/*----------------------------------------------------- 2library.js v2.0.4 - 2013.09.19 3 4@Library 5â rollover 6â active 7â boxhover 8â scroll 9â fontsize 10â flatHeight 11â Utility 12 â getHash 13 â hasHash 14 â observer 15 â replaceImg 16 â resizeStop 17 â scrollStop 18 â shuffle 19 20Copyright(c) INVOGUE.CO,. Ltd. ALL Rights Reserved. 21http://www.invogue.co.jp/ 22-------------------------------------------------------*/ 23 24;var Library = Library || {}; 25 26(function($){ 27 /** 28 * rollover v0.1.2 - 2013.08.30 29 */ 30 Library.rollover = function(options){ 31 var o = $.extend({ 32 // rollover option 33 $rollover : $('img.rover, input.rover, .all-rover img'), 34 groupRollover : 'group-rover', 35 rolloverActive: 'active-rover', 36 noRollover : 'no-rover', 37 postfix : '_on', 38 // alpha option 39 $alpha : $('img.alpha, input.alpha, .all-alpha img'), 40 groupAlpha : 'group-alpha', 41 alphaActive: 'active-alpha', 42 noAlpha : 'no-alpha', 43 opacity : .7, 44 duration : 0, 45 easing : 'linear' 46 }, options); 47 48 var PARAM = { 49 isGroupRollover: $('.' + o.groupRollover)[0], 50 isGroupAlpha : $('.' + o.groupAlpha)[0] 51 }; 52 53 var init = function(){ 54 if(options){ 55 if(options.$rollover && options.$alpha){ 56 setRollover(); 57 setAlpha(); 58 } else if(options.$rollover){ 59 setRollover(); 60 } else if(options.$alpha){ 61 setAlpha(); 62 } 63 } else { 64 if(o.$rollover[0]){ 65 setRollover(); 66 } 67 if(o.$alpha[0]){ 68 setAlpha(); 69 } 70 } 71 72 // history back対ç 73 $(window).on('unload', function(){ 74 Library.rollover(); 75 }); 76 }; 77 78 var setRollover = function(){ 79 var i = 0, l = o.$rollover.length; 80 for(; i < l; i+=1){ 81 rollover(o.$rollover.eq(i)); 82 } 83 }; 84 85 var rollover = function($target){ 86 if($target.hasClass(o.noRollover)) return false; 87 var $t = $target; 88 $t.offSrc = $t.attr('src'); 89 $t.ext = $t.offSrc.substring($t.offSrc.lastIndexOf('.'), $t.offSrc.length); 90 if($t.offSrc.lastIndexOf(o.postfix + $t.ext) > -1){ 91 $t.onSrc = $t.offSrc; 92 $t.offSrc = $t.offSrc.replace(o.postfix + $t.ext, $t.ext); 93 $t[0].src = $t.offSrc; 94 $t.css({cursor: 'pointer'}); 95 } else { 96 $t.onSrc = $t.offSrc.replace($t.ext, o.postfix + $t.ext); 97 } 98 99 var preload = new Image(); 100 preload.src = $t.onSrc; 101 102 // activeå¦ç 103 if($t.hasClass(o.rolloverActive)){ 104 $t[0].src = $t.onSrc; 105 $t.hover( 106 function(){ $(this).attr('src', $t.onSrc)}, 107 function(){ $(this).attr('src', $t.onSrc)} 108 ); 109 return false; 110 } 111 112 // groupRollover 113 if(PARAM.isGroupRollover && $t.closest('.' + o.groupRollover)[0]){ 114 $t.closest('.' + o.groupRollover).hover( 115 function(){ $t.attr('src', $t.onSrc)}, 116 function(){ $t.attr('src', $t.offSrc)} 117 ); 118 } else { 119 $t.hover( 120 function(){ $(this).attr('src', $t.onSrc)}, 121 function(){ $(this).attr('src', $t.offSrc)} 122 ); 123 } 124 }; 125 126 var setAlpha = function(){ 127 if(options){ 128 o.$alpha.css({cursor: 'pointer'}); 129 } 130 var i = 0, l = o.$alpha.length; 131 for(; i < l; i+=1){ 132 alpha(o.$alpha.eq(i)); 133 } 134 } 135 136 var alpha = function($target){ 137 var $t = $target; 138 if($t.hasClass(o.noAlpha)){ 139 return false; 140 } else if($t.hasClass(o.alphaActive)){ 141 if(0 < o.duration){ 142 $t.stop(true, false).animate({opacity: o.opacity}, o.duration, o.easing); 143 } else { 144 $t.css('opacity', o.opacity); 145 } 146 $t.hover( 147 function(){ $t.css({opacity: o.opacity});}, 148 function(){ $t.css({opacity: o.opacity});} 149 ); 150 return false; 151 } 152 153 if(options){ 154 $t.css({opacity: 1}); 155 } 156 157 // groupAlpha 158 if(PARAM.isGroupAlpha && $t.closest('.' + o.groupAlpha)[0]){ 159 if(0 < o.duration){ 160 $t.closest('.' + o.groupAlpha).hover( 161 function(){ $t.stop(true, false).animate({opacity: o.opacity}, o.duration, o.easing)}, 162 function(){ $t.stop(true, false).animate({opacity: 1}, o.duration, o.easing)} 163 ); 164 } else { 165 $t.closest('.' + o.groupAlpha).hover( 166 function(){ $t.css({opacity: o.opacity});}, 167 function(){ $t.css({opacity: 1});} 168 ); 169 } 170 } else { 171 if(0 < o.duration){ 172 $t.hover( 173 function(){ $(this).stop(true, false).animate({opacity: o.opacity}, o.duration, o.easing);}, 174 function(){ $(this).stop(true, false).animate({opacity: 1}, o.duration, o.easing);} 175 ); 176 } else { 177 $t.hover( 178 function(){ $(this).css({opacity: o.opacity});}, 179 function(){ $(this).css({opacity: 1});} 180 ); 181 } 182 } 183 }; 184 return init(); 185 }; 186 187 188 /** 189 * active v0.1 - 2013.03.27 190 */ 191 Library.active = function($target, options){ 192 var o = $.extend({ 193 type : 'rover', 194 activeClass: 'active', 195 isClick : false, 196 postfix : '_on' 197 }, options); 198 199 var set = function(){ 200 $target.addClass(o.activeClass); 201 202 if(o.type == 'rover'){
203 Library.rollover({ 204 $rollover : $target, 205 rolloverActive: o.activeClass, 206 postfix : o.postfix 207 }); 208 } else if(o.type == 'alpha') { 209 Library.rollover({ 210 $alpha : $target, 211 alphaActive: o.activeClass 212 }); 213 }; 214 215 if(o.isClick){ 216 $target.css({cursor: 'default'}).off().on('click', function(){ 217 return false; 218 }); 219 } 220 }; 221 return set(); 222 }; 223 224 225 /** 226 * boxhover v0.1.3 - 2013.08.21 227 */ 228 Library.boxhover = function($target, options){ 229 var o = $.extend({ 230 hoverClass: 'hover', 231 linkClass : 'link' 232 }, options); 233 234 var init = function(){ 235 $target.css({cursor: 'pointer'}); 236 237 var i = 0, l = $target.length; 238 for(; i < l; i+=1){ 239 set($target.eq(i)); 240 } 241 }; 242 243 var set = function($target){ 244 $target.hover( 245 function(){ $(this).addClass(o.hoverClass);}, 246 function(){ $(this).removeClass(o.hoverClass)} 247 ); 248 249 $target.click(function(e){ 250 var target = e.target, $a; 251 if(target.href && !target.src){ 252 $a = $(target); 253 } else if($(target).closest('a')[0]){ 254 $a = $(target).closest('a'); 255 } else if($(this).find('.' + o.linkClass)[0]){ 256 $a = $(this).find('.' + o.linkClass); 257 } else { 258 $a = $(this).find('a').eq(0); 259 } 260 261 if($a.attr('target') == '_blank'){ 262 window.open($a.attr('href'), '_blank'); 263 } else { 264 location.href = $a.attr('href'); 265 } 266 267 return false; 268 }); 269 }; 270 271 return init(); 272 }; 273 274 275 /** 276 * scroll v0.1.5 - 2013.09.18 277 */ 278 Library.scroll = function($trigger, options){ 279 var o = $.extend({ 280 adjust : 0, 281 duration : 600, 282 easing : 'easeOutExpo', 283 noScrollClass: 'no-scroll', 284 callback : $.noop 285 }, options); 286 287 var init = function(){ 288 // ã¹ã¯ãã¼ã«ã¤ãã³ãã®éè¤åé¿ 289 $trigger.off('click'); 290 291 var $a, i = 0, l = $trigger.length; 292 for(; i < l; i+=1){ 293 $a = $trigger.eq(i); 294 if($a.hasClass(o.noScrollClass) || !$($a.attr('href'))[0]) continue; 295 $a.on('click', tween); 296 }; 297 }; 298 299 var tween = function(){ 300 if($(this).hasClass(o.noScrollClass)) return; 301 var moveTo = $($(this).attr('href')).offset().top - o.adjust; 302 if($(window).scrollTop() != moveTo){ 303 $('html, body').stop(true, false).animate({ scrollTop: moveTo}, o.duration, o.easing, function(){ 304 o.callback(); 305 }); 306 } 307 return false; 308 }; 309 310 return init(); 311 }; 312 313 314 /** 315 * fontsize v0.1 - 2013.04.08 316 */ 317 Library.fontsize = function($trigger, options){ 318 var o = $.extend({ 319 $wrap : $('body'), 320 cookieName : 'FontSize', 321 value : 'FontM', 322 type : 'rover', // rover || alpha || text 323 activeClass: 'active' 324 }, options); 325 326 var PARAM = { 327 $trigger: $trigger, 328 $img : '', 329 count : 0 330 }; 331 332 var init = function(){ 333 set(); 334 setButton(); 335 }; 336 337 var set = function(){ 338 // set: Elment 339 PARAM.$img = o.type != 'text' && PARAM.$trigger.find('img'); 340 341 // set: Fontsize 342 if($.cookie(o.cookieName)){ 343 o.value = $.cookie(o.cookieName); 344 } 345 o.$wrap.addClass(o.value); 346 // set: Active 347 var i = 0, l = PARAM.$trigger.length; 348 for(; i < l; i++){ 349 if(o.value == PARAM.$trigger[i].id){ 350 PARAM.count = i; 351 PARAM.$trigger.eq(i).addClass(o.activeClass); 352 if(o.type != 'text'){ 353 resetButton(i); 354 } 355 break; 356 } 357 } 358 }; 359 360 var setButton = function(){ 361 PARAM.$trigger.click(function(){ 362 if(o.value == this.id) return false; 363 var num = PARAM.$trigger.index(this); 364 // set: Value 365 o.value = this.id; 366 o.$wrap.removeClass($.cookie(o.cookieName)).addClass(o.value); 367 $.cookie(o.cookieName, o.value, { expires: 30, path: '/'}); // åä½ç¢ºèªãã 368 // set: Active 369 $(this).addClass(o.activeClass); 370 PARAM.$trigger.eq(PARAM.count).removeClass(o.activeClass); 371 if(o.type != 'text'){ 372 resetButton(num, PARAM.count); 373 } 374 PARAM.count = num; 375 return false; 376 }); 377 }; 378 379 var resetButton = function(next, prev){ 380 Library.active(PARAM.$img.eq(next), {type: o.type}); 381 if(typeof prev == 'number'){ 382 if(o.type == 'rover'){
383 Library.rollover({$rollover: PARAM.$img.eq(prev)}); 384 } else if(o.type == 'alpha'){ 385 Library.rollover({$alpha: PARAM.$img.eq(prev)}); 386 } 387 } 388 }; 389 390 return init(); 391 }; 392 393 394 /** 395 * flatHeight v0.2.3 - 2013.06.18 396 */ 397 Library.flatHeight = function($target, split, isObserve){ 398 var $t = $target, 399 split = split || $t.length, 400 total = $t.length, 401 rest = total % split, 402 finalRow = total - rest, 403 isObserve = isObserve || true; 404 405 var init = function(){ 406 setHeight(); 407 408 if(isObserve && $.isDevice('pc')){ 409 Library.observer(function(){ 410 setHeight(); 411 }); 412 } else if($.isDevice('sd')) { 413 $(window).resize(function(){ 414 setHeight(); 415 }); 416 } 417 }; 418 419 var setHeight = function(){ 420 $t.height('auto'); 421 422 var maxHeight = rowCount = i = 0, l = total; 423 for(; i < l; i+=1){ 424 var targetHeight = $t.eq(i).height(); 425 maxHeight = maxHeight < targetHeight ? targetHeight: maxHeight; 426 if((i+1) % split == 0){ 427 $t.slice(rowCount * split, (rowCount +=1) * split).height(maxHeight); 428 maxHeight = 0; 429 } else if(1 < rest && finalRow <= i){ 430 maxHeight = maxHeight < targetHeight ? targetHeight: maxHeight; 431 if(i == l-1){ 432 $t.slice(rowCount * split, l).height(maxHeight); 433 } 434 } 435 } 436 }; 437 438 return init(); 439 }; 440 441 442 /*----------------------------------------------------- 443 Utility 444 -------------------------------------------------------*/ 445 446 /** 447 * getHash v0.1 - 2013.09.18 448 * @return Array 449 */ 450 Library.getHash = function(){ 451 var hash = window.location.hash; 452 if(hash){ 453 return hash.split('#').slice(1, hash.length); 454 } 455 }; 456 457 /** 458 * hasHash v0.1 - 2013.07.10 459 * @return boolean 460 */ 461 Library.hasHash = function(string){ 462 var url = window.location; 463 if(url.href.indexOf('#') > -1){ 464 var hash = url.hash; 465 if(!string){ 466 return true; 467 } else if(hash){ 468 var hashArray = hash.split('#'), 469 hashValue = string.replace(/#/, ''), 470 i = 1, l = hashArray.length; 471 for(; i < l; i+=1){ 472 if(hashValue == hashArray[i]){ 473 return true; 474 } 475 } 476 } 477 } 478 return false; 479 }; 480 481 /** 482 * observer v0.2.1 - 2013.07.26 483 * æåãµã¤ãºã®ç¶æ ç£è¦ 484 */ 485 Library.observer = function(callback, timer){ 486 var SELF = this.observer; 487 488 var PARAM = { 489 $ins : '', 490 size : 0, 491 timer : timer || 500 492 }; 493 494 var init = function(){ 495 if(!SELF.callbacks){ 496 SELF.callbacks = []; 497 set(); 498 observer(); 499 } 500 SELF.callbacks.push(callback); 501 }; 502 503 var set = function(){ 504 PARAM.$ins = $('<ins id="OBSERVER">M</ins>').css({ 505 display: 'block', 506 visibility: 'hidden', 507 position: 'absolute', 508 top: 0, 509 zIndex: 0 510 }).appendTo('body'); 511 PARAM.size = PARAM.$ins.height(); 512 }; 513 514 var observer = function(){ 515 setInterval(function(){ 516 if(PARAM.size != PARAM.$ins.height()){ 517 PARAM.size = PARAM.$ins.height(); 518 var i = 0, l = SELF.callbacks.length; 519 for(; i < l; i+=1){ 520 SELF.callbacks[i](); 521 } 522 } 523 }, PARAM.timer); 524 }; 525 526 return init(); 527 }; 528 529 /** 530 * replaceImg v0.1 - 2013.07.11 531 * src屿§ã®æ¸ãæã 532 * @return jQuery Object 533 */ 534 Library.replaceImg = function($img, del, add){ 535 var $img = $img; 536 return $img.attr('src', $img.attr('src').replace(del, add)); 537 }; 538 539 /** 540 * resizeStop v0.1.1 - 2013.08.23 541 * ãªãµã¤ãºã¹ãããã¤ãã³ã 542 */ 543 Library.resizeStop = function(callback, timer){ 544 var timeId, 545 timer = timer || 200; 546 $(window).resize(function(){ 547 clearTimeout(timeId); 548 timeId = setTimeout(function(){ 549 callback(); 550 }, timer); 551 }); 552 }; 553 554 /** 555 * scrollStop v0.1 - 2013.08.23 556 * ã¹ã¯ãã¼ã«ã¹ãããã¤ãã³ã 557 */ 558 Library.scrollStop = function(callback, timer){ 559 var timeId, 560 timer = timer || 200; 561 $(window).scroll(function(){ 562 clearTimeout(timeId); 563 timeId = setTimeout(function(){ 564 callback(); 565 }, timer); 566 }); 567 }; 568 569 /** 570 * shuffle v0.1.1 - 2013.08.23 571 * é åã®ã·ã£ããã« 572 * @return array 573 */ 574 Library.shuffle = function(array){ 575 var frag, j, 576 i = array.length, 577 r = Math.random(); 578 while(i){ 579 j = ~~(r*i); 580 frag = array[i-=1]; 581 array[i] = array[j]; 582 array[j] = frag; 583 } 584 return array; 585 }; 586 587 588 /** 589 * [queryHashMap ãªã¯ã¨ã¹ããã©ã¡ã¼ã¿ã®å¤ã飿³é åã¨ãã¦å
589å¾ãã¾ã] 590 * @return {[array]} [description] 591 */ 592 Library.queryHashMap = function(){ 593 var vars = {}, 594 keySearch, 595 key, 596 val, 597 param = location.search.substring(1).split('&'), 598 i = 0, 599 l = param.length; 600 601 for(; i < l; i += 1){ 602 keySearch = param[i].search(/=/); 603 key = ''; 604 605 if(keySearch != -1){ 606 key = param[i].slice(0, keySearch); 607 } 608 609 val = param[i].slice(param[i].indexOf('=', 0) + 1); 610 611 if(key != ''){ 612 vars[key] = decodeURI(val); 613 } 614 } 615 616 return vars; 617 }; 618 619 620 621 622 /*----------------------------------------------------- 623 DOM READY 624 -------------------------------------------------------*/ 625 $(function(){ 626 if($.isDevice('pc')){ 627 Library.rollover(); 628 } else { 629 setTimeout(function(){ scrollTo(0, 1);}, 1); 630 } 631 Library.scroll($('a[href^=#]')); 632 //Library.scroll($('a[href^=#]'), {adjust: 80}); 633 }); 634 635}(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.