1/* ================================================================= 2 License : e-TRUST Inc. 3 File name : function.js 4 Style : function 5================================================================= */ 6// ã¢ã¡ããä»SNSã®RSSè¡¨ç¤ºç¨ 7 ;(function($){ 8 $(function(){ 9 $.get('./rss.php',function(data){ 10 $('#rss').html(data); 11 }) 12 }) 13 })(jQuery); 14/* !smoothscroll ------------------------------------------------------------ */ 15$(function(){ 16 $('a[href^="#"]').click(function(){ 17 var speed = 500; 18 var href= $(this).attr("href"); 19 var target = $(href == "#" || href == "" ? 'html' : href); 20 var position = target.offset().top; 21 $("html, body").animate({scrollTop:position}, speed, "swing"); 22 return false; 23 }); 24}); 25 26 27$(function(){ 28/* ##### START JQUERY TEMPLATE ##################################### */ 29 30rollover("#siteID a img",0.6,200); //é¤å¤ããclass,id / opacity / speed 31//imgReplace(); 32accordionPanel(".accBtn",".accOpen",300); 33spAutoTel(".tel-s","042-316-8523"); //telãwrapãã¦ããè¦ç´ ã«classãã¤ãã 34meanmenu("header #nav_global"); // 35objectFitImages(); 36/* ##### START JQUERY ############################################## */ 37// AIã§SNSé£åã¹ã©ã¤ãã®æã¯ãã 38$(".disnone").remove(); 39$('.slide ul').slick({ 40 autoplay:true, 41 dots: false, 42 prevArrow: '<a class="slick-prev2" href="#"><i class="fa fa-chevron-left" aria-hidden="true"></i></a>', 43 nextArrow: '<a class="slick-next2" href="#"><i class="fa fa-chevron-right" aria-hidden="true"></i></a>', 44 speed: 500, 45 slidesToShow: 3, 46 slidesToScroll: 1 47}); 48 49// ã³ã³ãã³ãã«ãã§ã¤ãçãªåãï¼ä¸ä¸å·¦å³æµããããã®ã«slide-top,bottom,right,leftã¤ããã ã)â»ãããPCã®ã¿ 50 51if(!navigator.userAgent.match(/(iPhone|iPad|iPod|Android)/)){ 52$("#contents").fadeThis({ 53 speed: 1000, 54 reverse: false, 55 distance: 50, 56 offset: -50 57}); 58} 59 60$(".disnone").remove(); 61$('.slide2 ul').slick({ 62 autoplay:true, 63 dots: false, 64 prevArrow: '<a class="slick-prev2" href="#"><i class="fa fa-chevron-left" aria-hidden="true"></i></a>', 65 nextArrow: '<a class="slick-next2" href="#"><i class="fa fa-chevron-right" aria-hidden="true"></i></a>', 66 speed: 500, 67 slidesToShow: 6, 68 slidesToScroll: 1, 69 responsive: [ 70 { 71 breakpoint: 800, 72 settings: { 73 slidesToShow: 3 74 } 75 } 76 ] 77}); 78 79// AIã§SNSé£åã¹ã©ã¤ãã®æã¯ãããç»åãul,liã«æ¸ãæãã¦ãããï½ï½ 80$('.sns_list').replaceWith(function() { 81 var this_class = $(this).attr("class") ? ' class="' +$(this).attr("class")+ '"' : ''; 82 $(this).replaceWith('<ul'+this_class+'>'+$(this).html()+'</ul>'); 83}); 84 85$('.sns_list > div').replaceWith(function() { 86 var this_class = $(this).attr("class") ? ' class="' +$(this).attr("class")+ '"' : ''; 87 $(this).replaceWith('<li'+this_class+'>'+$(this).html()+'</li>'); 88}); 89 90$('.sns_list').slick({ 91 autoplay:true, 92 dots: false, 93 prevArrow: '<a class="slick-prev2" href="#"><i class="fa fa-chevron-left" aria-hidden="true"></i></a>', 94 nextArrow: '<a class="slick-next2" href="#"><i class="fa fa-chevron-right" aria-hidden="true"></i></a>', 95 speed: 500, 96 slidesToShow: 6, 97 slidesToScroll: 1, 98 responsive: [ 99 { 100 breakpoint: 800, 101 settings: { 102 slidesToShow: 3 103 } 104 } 105 ] 106}); 107// AIã§SNSé£åã¹ã©ã¤ãã®æã¯ãã 108 109/* mainArea */ 110$(function(){ 111 $('#slider').slick({ 112 autoplay:true, 113 autoplaySpeed:2000, 114 speed:3000, 115 pauseOnHover:false, 116 fade:true 117 }); 118}); 119 120/* tile */ 121$(function(){ 122 var minWidth = 468; 123 if (minWidth <= $(this).width()) { 124 $('.home_td .box').tile(2); 125 $(window).load(function() { 126 $('.home_td .box').tile(2); 127 }); 128 } 129 $(window).resize(function(){ 130 if (minWidth <= $(this).width()) { 131 $('.home_td .box').tile(2); 132 } 133 else { 134 $('.home_td .box').removeAttr('style'); 135 } 136 }); 137}); 138 139/* ééããã« */ 140$("div.menu").hide(); 141$("div.category").click(function(){ 142 $("div.menu").slideUp(); 143 $("div.category").removeClass("open"); 144 if($("+div",this).css("display")=="none"){ 145 $("+div",this).slideDown(); 146 $(this).addClass("open"); 147 } 148}); 149if($("#box").length){ 150 $("#box").jScrollPane(); 151}; 152 153//ãããã¼h1夿´ 154if($(".h1txt").length){ 155 var h1Txt = $(".h1txt").text(); 156 $("h1").text(h1Txt); 157 $(".h1txt").remove(); 158} 159//ã±ãããããã¹ã夿´ 160if($(".pankuzu-now").length){ 161 var hpTxt = $(".pankuzu-now").text(); 162 $("#pankuzu-now").text(hpTxt); 163 $(".pankuzu-now").remove(); 164} 165//ä¸å±¤ã®ã¡ã¤ã³ãã¸ã¥ã¢ã«ç½®æ 166var lk = $(".local-keyvisual-bg"); 167$("#local-keyvisual-bg").replaceWith(lk); 168 169$(function() { 170 var tr1st = []; 171//table trã®1åç®ï¼ä¸è¬çã«ã¯thã«ãããé¨åï¼ 172 $(".tblcustom tr:first-child").each(function(i) { 173 tr1st[i] = []; 174 $("td", this).each(function(i) { 175 tr1st[i] = $(this).text(); 176 }); 177 }); 178 179 var trList = $(".tblcustom tr"); 180 for (var i = 0; i < trList.length; i++) { 181 var tdList = trList.eq(i).children(); 182 for (var j = 0; j < tdList.length; j++) { 183 var td = tdList.eq(j); 184 td.wrapInner('<div></div>') 185 td.attr('data-th', tr1st[j]); 186 }; 187 }; 188}); 189 190 191/* !scrollãã¹ã¯ãã¼ã« ------------------------------------------------------------ */ 192$(function(){ 193 $(window).load(function(){ 194 $(".scroll").mCustomScrollbar(); 195 }); 196}); 197 198/* !dropdownmenu ------------------------------------------------------------ */ 199$("#nav_global ul li ul").hide(); 200$("#nav_global ul li").hover(function(){ 201 $("ul:not(:animated)", this).slideDown(); 202 },function(){$("ul",this).slideUp(); 203}); 204 205/* !bxslider ------------------------------------------------------------ */ 206setTimeout(function(){ 207 $('.bxslider').bxSlider({ 208 mode: 'horizontal', //'horizontal', 'vertical', 'fade' 209 speed: 500,
210 auto: false, 211 controls: true, 212 pager: false, 213 easing: '' //'linear', 'ease', 'ease-in', 'ease-out', 'ease-in-out', 'cubic-bezier(n,n,n,n)' 214 }); 215}, 0); 216 217/* !fancyBox ---------------------------------------------------------------- */ 218$('.fancybox').each(function(i){ 219 $(".fancybox a[href$='.jpg'],.fancybox a[href$='.jpeg'],.fancybox a[href$='.png'],.fancybox a[href$='.gif'],.fancybox a[href$='.JPG'],.fancybox a[href$='.JPEG'],.fancybox a[href$='.PNG'],.fancybox a[href$='.GIF']").each(function(){ 220 $(this).attr({"rel":"grp"+i,"title":$('img',$(this)).attr("alt")}); 221 }).fancybox({ 222 transitionIn : 'elastic', //'elastic', 'fade' or 'none' 223 transitionOut : 'elastic', //'elastic', 'fade' or 'none' 224 centerOnScroll : true 225 }); 226}); 227 228$('.fancybox2').fancybox({ 229 titlePosition : 'inside', 230 transitionIn : 'none', 231 transitionOut : 'none', 232}); 233 234/* !SP ---------------------------------------------------------------- */ 235$('a img').bind('touchstart', function() { 236 $(this).attr('src', $(this).attr('src').replace('_off', '_on')); 237}); 238$('a img').bind('touchend', function() { 239 $(this).attr('src', $(this).attr('src').replace('_on', '_off')); 240}); 241 242 243/* ##### END JQUERY ################################################ */ 244}); 245 246 247 248/* !meanmenu ------------------------------------------------------------ */ 249var meanmenu = function(elemClass){ 250 $(elemClass).meanmenu({ 251 meanMenuClose: "x", // ã¯ãã¼ãºãã¿ã³ 252 meanMenuCloseSize: "18px", // ã¯ãã¼ãºãã¿ã³ã®ãã©ã³ããµã¤ãº 253 meanMenuOpen: "<span /><span /><span />", // é常ãã¿ã³ 254 meanRevealPosition: "right", // 表示ä½ç½® 255 meanRevealColour: "", // èæ¯è² 256 meanScreenWidth: "768", // ãã¬ã¤ã¯ãã¤ã³ã) 257 }); 258}; 259 260/* !rollover ---------------------------------------------------------------- */ 261var rollover = function(exclusion,opacity,speed){ 262 $("a img").not(exclusion).each(function(){ 263 var img = $(this); 264 if( $(this).attr("src").match("_off")){ 265 $(this).hover(function(){ 266 $(img).attr("src",$(img).attr("src").replace("_off","_on")); 267 },function(){ 268 $(img).attr("src",$(img).attr("src").replace("_on","_off")); 269 }); 270 } else { 271 $(this).hover(function(){ 272 $(img).stop().animate({"opacity":opacity},speed); 273 },function(){ 274 $(img).stop().animate({"opacity":1},speed); 275 }); 276 } 277 }); 278}; 279 280/* !img replace ------------------------------------------------------------ */ 281var imgReplace = function(){ 282 var $setElem = $('img'), 283 replaceWidth = 468; 284 $setElem.each(function(){ 285 var $this = $(this); 286 function imgSize(){ 287 var windowWidth = parseInt(window.innerWidth||document.documentElement.clientWidth); 288 if(windowWidth >= replaceWidth) { 289 $this.attr('src',$this.attr('src').replace('_sp','_pc')); 290 } else if(windowWidth < replaceWidth) { 291 $this.attr('src',$this.attr('src').replace('_pc','_sp')); 292 } 293 } 294 $(window).resize(function(){imgSize();}); 295 imgSize(); 296 }); 297}; 298 299/* !accordionPanel ------------------------------------------------------------ */ 300var accordionPanel = function(btnClass,openClass,speed){ 301 $(btnClass).next(openClass).hide().end().not(":animated").toggle( 302 function(){$(this).next(openClass).slideDown(speed);}, 303 function(){$(this).next(openClass).slideUp(speed);} 304 ); 305}; 306 307/* !sp auto tel-link ------------------------------------------------------------ */ 308var spAutoTel = function(elemClass,telNumber){ 309 var device = navigator.userAgent; 310 if((device.indexOf('iPhone') > 0 && device.indexOf('iPad') == -1) || device.indexOf('iPod') > 0 || device.indexOf('Android') > 0){ 311 $(elemClass).wrapInner("<a href=tel:" + telNumber + "></a>"); 312 } 313}; 314 315/* !isUA -------------------------------------------------------------------- */ 316var isUA = (function(){ 317 var ua = navigator.userAgent.toLowerCase(); 318 indexOfKey = function(key){ return (ua.indexOf(key) != -1)? true: false;} 319 var o = {}; 320 o.ie = function(){ return indexOfKey("msie"); } 321 o.fx = function(){ return indexOfKey("firefox"); } 322 o.chrome = function(){ return indexOfKey("chrome"); } 323 o.opera = function(){ return indexOfKey("opera"); } 324 o.android = function(){ return indexOfKey("android"); } 325 o.ipad = function(){ return indexOfKey("ipad"); } 326 o.ipod = function(){ return indexOfKey("ipod"); } 327 o.iphone = function(){ return indexOfKey("iphone"); } 328 return o; 329})(); 330 331/* ##### START JQUERY FN EXTEND ##### */ 332$.fn.extend({ 333bxiSlider : function(options){ 334 var def = {
335 speed : 3000,delay : 2500,type : 'slide', /* slide or fade */ 336 width : 'auto', /* inherit parent element */height : 'auto', /* inherit parent element */ 337 ease : "easeInOutExpo" 338 }; 339 var o = $.extend(def,options); 340 return this.each(function(i){ 341 var UL=$(this),LI=UL.children(); 342 UL.css({"position":"relative","width":o.width,"height":o.height,"overflow":"hidden"}); 343 if(o.type == 'slide'){ 344 LI.each(function(n){ 345 $(this).css({"position":"absolute","z-index":500-n}); 346 }); 347 var sL = LI.length,f = 0; 348 (function slideAnime(){ 349 (f==(sL-1))?( 350 LI.eq(f).delay(o.delay).animate({"left":o.width*-1},o.speed,o.ease), 351 LI.eq(0).css("left",o.width).delay(o.delay).animate({"left":0},o.speed,o.ease,slideAnime), 352 f = 0 353 ):( 354 LI.eq(f+1).css("left",o.width).delay(o.delay).animate({"left":0},o.speed,o.ease), 355 LI.eq(f).delay(o.delay).animate({"left":o.width*-1},o.speed,o.ease,slideAnime), 356 f += 1 357 ); 358 })(); 359 }else{ 360 LI.css({"position":"absolute"}).filter(":gt(0)").hide(); 361 (function loop(){ 362 var si = setInterval(function(){ 363 clearInterval(si); 364 LI.filter(':first-child').fadeOut(o.speed).next().fadeIn(o.speed,loop).end().appendTo(UL); 365 },o.delay); 366 })(); 367 }; 368 }); 369} 370}); 371$.easing['jswing']=jQuery.easing['swing'];$.extend(jQuery.easing,{def:'easeOutQuad',swing:function(x,t,b,c,d){return jQuery.easing[jQuery.easing.def](x,t,b,c,d);},easeInQuad:function(x,t,b,c,d){return c*(t/=d)*t+b;},easeOutQuad:function(x,t,b,c,d){return -c*(t/=d)*(t-2)+b;},easeInOutQuad:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t+b;return -c/2*((--t)*(t-2)-1)+b;},easeInCubic:function(x,t,b,c,d){return c*(t/=d)*t*t+b;},easeOutCubic:function(x,t,b,c,d){return c*((t=t/d-1)*t*t+1)+b;},easeInOutCubic:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t+b;return c/2*((t-=2)*t*t+2)+b;},easeInQuart:function(x,t,b,c,d){return c*(t/=d)*t*t*t+b;},easeOutQuart:function(x,t,b,c,d){return -c*((t=t/d-1)*t*t*t-1)+b;},easeInOutQuart:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t*t+b;return -c/2*((t-=2)*t*t*t-2)+b;},easeInQuint:function(x,t,b,c,d){return c*(t/=d)*t*t*t*t+b;},easeOutQuint:function(x,t,b,c,d){return c*((t=t/d-1)*t*t*t*t+1)+b;},easeInOutQuint:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t*t*t+b;return c/2*((t-=2)*t*t*t*t+2)+b;},easeInSine:function(x,t,b,c,d){return -c*Math.cos(t/d*(Math.PI/2))+c+b;},easeOutSine:function(x,t,b,c,d){return c*Math.sin(t/d*(Math.PI/2))+b;},easeInOutSine:function(x,t,b,c,d){return -c/2*(Math.cos(Math.PI*t/d)-1)+b;},easeInExpo:function(x,t,b,c,d){return (t==0)?b:c*Math.pow(2,10*(t/d-1))+b;},easeOutExpo:function(x,t,b,c,d){return (t==d)?b+c:c*(-Math.pow(2,-10*t/d)+1)+b;},easeInOutExpo:function(x,t,b,c,d){if(t==0)return b;if(t==d)return b+c;if((t/=d/2)<1)return c/2*Math.pow(2,10*(t-1))+b;return c/2*(-Math.pow(2,-10*--t)+2)+b;},easeInCirc:function(x,t,b,c,d){return -c*(Math.sqrt(1-(t/=d)*t)-1)+b;},easeOutCirc:function(x,t,b,c,d){return c*Math.sqrt(1-(t=t/d-1)*t)+b;},easeInOutCirc:function(x,t,b,c,d){if((t/=d/2)<1)return -c/2*(Math.sqrt(1-t*t)-1)+b;return c/2*(Math.sqrt(1-(t-=2)*t)+1)+b;},easeInElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d)==1)return b+c;if(!p)p=d*.3;if(a<Math.abs(c)){a=c;var s=p/4;}else var s=p/(2*Math.PI)*Math.asin(c/a);return -(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;},easeOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d)==1)return b+c;if(!p)p=d*.3;if(a<Math.abs(c)){a=c;var s=p/4;}else var s=p/(2*Math.PI)*Math.asin(c/a);return a*Math.pow(2,-10*t)*Math.sin((t*d-s)*(2*Math.PI)/p)+c+b;},easeInOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d/2)==2)return b+c;if(!p)p=d*(.3*1.5);if(a<Math.abs(c)){a=c;var s=p/4;}else var s=p/(2*Math.PI)*Math.asin(c/a);if(t<1)return -.5*(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;return a*Math.pow(2,-10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p)*.5+c+b;},easeInBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;return c*(t/=d)*t*((s+1)*t-s)+b;},easeOutBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;return c*((t=t/d-1)*t*((s+1)*t+s)+1)+b;}
371,easeInOutBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;if((t/=d/2)<1)return c/2*(t*t*(((s*=(1.525))+1)*t-s))+b;return c/2*((t-=2)*t*(((s*=(1.525))+1)*t+s)+2)+b;},easeInBounce:function(x,t,b,c,d){return c-jQuery.easing.easeOutBounce(x,d-t,0,c,d)+b;},easeOutBounce:function(x,t,b,c,d){if((t/=d)<(1/2.75)){return c*(7.5625*t*t)+b;}else if(t<(2/2.75)){return c*(7.5625*(t-=(1.5/2.75))*t+.75)+b;}else if(t<(2.5/2.75)){return c*(7.5625*(t-=(2.25/2.75))*t+.9375)+b;}else {return c*(7.5625*(t-=(2.625/2.75))*t+.984375)+b;}},easeInOutBounce:function(x,t,b,c,d){if(t<d/2)return jQuery.easing.easeInBounce(x,t*2,0,c,d)*.5+b;return jQuery.easing.easeOutBounce(x,t*2-d,0,c,d)*.5+c*.5+b;}}); 372/* ##### END JQUERY EXTEND ##### */ 373 374/*! npm.im/object-fit-images 3.2.3 */ 375var objectFitImages = (function () { 376'use strict'; 377 378var OFI = 'bfred-it:object-fit-images'; 379var propRegex = /(object-fit|object-position)\s*:\s*([-\w\s%]+)/g; 380var testImg = typeof Image === 'undefined' ? {style: {'object-position': 1}} : new Image(); 381var supportsObjectFit = 'object-fit' in testImg.style; 382var supportsObjectPosition = 'object-position' in testImg.style; 383var supportsOFI = 'background-size' in testImg.style; 384var supportsCurrentSrc = typeof testImg.currentSrc === 'string'; 385var nativeGetAttribute = testImg.getAttribute; 386var nativeSetAttribute = testImg.setAttribute; 387var autoModeEnabled = false; 388 389function createPlaceholder(w, h) { 390 return ("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='" + w + "' height='" + h + "'%3E%3C/svg%3E"); 391} 392 393function polyfillCurrentSrc(el) { 394 if (el.srcset && !supportsCurrentSrc && window.picturefill) { 395 var pf = window.picturefill._; 396 // parse srcset with picturefill where currentSrc isn't available 397 if (!el[pf.ns] || !el[pf.ns].evaled) { 398 // force synchronous srcset parsing 399 pf.fillImg(el, {reselect: true}); 400 } 401 402 if (!el[pf.ns].curSrc) { 403 // force picturefill to parse srcset 404 el[pf.ns].supported = false; 405 pf.fillImg(el, {reselect: true}); 406 } 407 408 // retrieve parsed currentSrc, if any 409 el.currentSrc = el[pf.ns].curSrc || el.src; 410 } 411} 412 413function getStyle(el) { 414 var style = getComputedStyle(el).fontFamily; 415 var parsed; 416 var props = {}; 417 while ((parsed = propRegex.exec(style)) !== null) { 418 props[parsed[1]] = parsed[2]; 419 } 420 return props; 421} 422 423function setPlaceholder(img, width, height) { 424 // Default: fill width, no height 425 var placeholder = createPlaceholder(width || 1, height || 0); 426 427 // Only set placeholder if it's different 428 if (nativeGetAttribute.call(img, 'src') !== placeholder) { 429 nativeSetAttribute.call(img, 'src', placeholder); 430 } 431} 432 433function onImageReady(img, callback) { 434 // naturalWidth is only available when the image headers are loaded, 435 // this loop will poll it every 100ms. 436 if (img.naturalWidth) { 437 callback(img); 438 } else { 439 setTimeout(onImageReady, 100, img, callback); 440 } 441} 442 443function fixOne(el) { 444 var style = getStyle(el); 445 var ofi = el[OFI]; 446 style['object-fit'] = style['object-fit'] || 'fill'; // default value 447 448 // Avoid running where unnecessary, unless OFI had already done its deed 449 if (!ofi.img) { 450 // fill is the default behavior so no action is necessary 451 if (style['object-fit'] === 'fill') { 452 return; 453 } 454 455 // Where object-fit is supported and object-position isn't (Safari < 10) 456 if ( 457 !ofi.skipTest && // unless user wants to apply regardless of browser support 458 supportsObjectFit && // if browser already supports object-fit 459 !style['object-position'] // unless object-position is used 460 ) { 461 return; 462 } 463 } 464 465 // keep a clone in memory while resetting the original to a blank 466 if (!ofi.img) { 467 ofi.img = new Image(el.width, el.height); 468 ofi.img.srcset = nativeGetAttribute.call(el, "data-ofi-srcset") || el.srcset; 469 ofi.img.src = nativeGetAttribute.call(el, "data-ofi-src") || el.src; 470 471 // preserve for any future cloneNode calls 472 // https://github.com/bfred-it/object-fit-images/issues/53 473 nativeSetAttribute.call(el, "data-ofi-src", el.src); 474 if (el.srcset) { 475 nativeSetAttribute.call(el, "data-ofi-srcset", el.srcset); 476 } 477 478 setPlaceholder(el, el.naturalWidth || el.width, el.naturalHeight || el.height); 479 480 // remove srcset because it overrides src 481 if (el.srcset) { 482 el.srcset = ''; 483 } 484 try { 485 keepSrcUsable(el); 486 } catch (err) { 487 if (window.console) { 488 console.warn('https://bit.ly/ofi-old-browser'); 489 } 490 } 491 } 492 493 polyfillCurrentSrc(ofi.img); 494 495 el.style.backgroundImage = "url(\"" + ((ofi.img.currentSrc || ofi.img.src).replace(/"/g, '\\"')) + "\")"; 496 el.style.backgroundPosition = style['object-position'] || 'center'; 497 el.style.backgroundRepeat = 'no-repeat'; 498 el.style.backgroundOrigin = 'content-box'; 499 500 if (/scale-down/.test(style['object-fit'])) { 501 onImageReady(ofi.img, function () {
vendor: 1,782 bytes, lines 502-562
502 if (ofi.img.naturalWidth > el.width || ofi.img.naturalHeight > el.height) { 503 el.style.backgroundSize = 'contain'; 504 } else { 505 el.style.backgroundSize = 'auto'; 506 } 507 }); 508 } else { 509 el.style.backgroundSize = style['object-fit'].replace('none', 'auto').replace('fill', '100% 100%'); 510 } 511 512 onImageReady(ofi.img, function (img) { 513 setPlaceholder(el, img.naturalWidth, img.naturalHeight); 514 }); 515} 516 517function keepSrcUsable(el) { 518 var descriptors = { 519 get: function get(prop) { 520 return el[OFI].img[prop ? prop : 'src']; 521 }, 522 set: function set(value, prop) { 523 el[OFI].img[prop ? prop : 'src'] = value; 524 nativeSetAttribute.call(el, ("data-ofi-" + prop), value); // preserve for any future cloneNode 525 fixOne(el); 526 return value; 527 } 528 }; 529 Object.defineProperty(el, 'src', descriptors); 530 Object.defineProperty(el, 'currentSrc', { 531 get: function () { return descriptors.get('currentSrc'); } 532 }); 533 Object.defineProperty(el, 'srcset', { 534 get: function () { return descriptors.get('srcset'); }, 535 set: function (ss) { return descriptors.set(ss, 'srcset'); } 536 }); 537} 538 539function hijackAttributes() { 540 function getOfiImageMaybe(el, name) { 541 return el[OFI] && el[OFI].img && (name === 'src' || name === 'srcset') ? el[OFI].img : el; 542 } 543 if (!supportsObjectPosition) { 544 HTMLImageElement.prototype.getAttribute = function (name) { 545 return nativeGetAttribute.call(getOfiImageMaybe(this, name), name); 546 }; 547 548 HTMLImageElement.prototype.setAttribute = function (name, value) { 549 return nativeSetAttribute.call(getOfiImageMaybe(this, name), name, String(value)); 550 }; 551 } 552} 553 554function fix(imgs, opts) { 555 var startAutoMode = !autoModeEnabled && !imgs; 556 opts = opts || {}; 557 imgs = imgs || 'img'; 558 559 if ((supportsObjectPosition && !opts.skipTest) || !supportsOFI) { 560 return false; 561 } 562
vendor: 1,007 bytes, lines 563-607
563 // use imgs as a selector or just select all images 564 if (imgs === 'img') { 565 imgs = document.getElementsByTagName('img'); 566 } else if (typeof imgs === 'string') { 567 imgs = document.querySelectorAll(imgs); 568 } else if (!('length' in imgs)) { 569 imgs = [imgs]; 570 } 571 572 // apply fix to all 573 for (var i = 0; i < imgs.length; i++) { 574 imgs[i][OFI] = imgs[i][OFI] || { 575 skipTest: opts.skipTest 576 }; 577 fixOne(imgs[i]); 578 } 579 580 if (startAutoMode) { 581 document.body.addEventListener('load', function (e) { 582 if (e.target.tagName === 'IMG') { 583 fix(e.target, { 584 skipTest: opts.skipTest 585 }); 586 } 587 }, true); 588 autoModeEnabled = true; 589 imgs = 'img'; // reset to a generic selector for watchMQ 590 } 591 592 // if requested, watch media queries for object-fit change 593 if (opts.watchMQ) { 594 window.addEventListener('resize', fix.bind(null, imgs, { 595 skipTest: opts.skipTest 596 })); 597 } 598} 599 600fix.supportsObjectFit = supportsObjectFit; 601fix.supportsObjectPosition = supportsObjectPosition; 602 603hijackAttributes(); 604 605return fix; 606 607}());
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.