/*! * JavaScript Cookie v2.2.0 * https://github.com/js-cookie/js-cookie * * Copyright 2006, 2015 Klaus Hartl & Fagner Brack * Released under the MIT license */ ;(function (factory) { var registeredInModuleLoader; if (typeof define === 'function' && define.amd) { define(factory); registeredInModuleLoader = true; } if (typeof exports === 'object') { module.exports = factory(); registeredInModuleLoader = true; } if (!registeredInModuleLoader) { var OldCookies = window.Cookies; var api = window.Cookies = factory(); api.noConflict = function () { window.Cookies = OldCookies; return api; }; } }(function () { function extend () { var i = 0; var result = {}; for (; i < arguments.length; i++) { var attributes = arguments[ i ]; for (var key in attributes) { result[key] = attributes[key]; } } return result; } function decode (s) { return s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent); } function init (converter) { function api() {} function set (key, value, attributes) { if (typeof document === 'undefined') { return; } attributes = extend({ path: '/' }, api.defaults, attributes); if (typeof attributes.expires === 'number') { attributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5); } // We're using "expires" because "max-age" is not supported by IE attributes.expires = attributes.expires ? attributes.expires.toUTCString() : ''; try { var result = JSON.stringify(value); if (/^[\{\[]/.test(result)) { value = result; } } catch (e) {} value = converter.write ? converter.write(value, key) : encodeURIComponent(String(value)) .replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent); key = encodeURIComponent(String(key)) .replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent) .replace(/[\(\)]/g, escape); var stringifiedAttributes = ''; for (var attributeName in attributes) { if (!attributes[attributeName]) { continue; } stringifiedAttributes += '; ' + attributeName; if (attributes[attributeName] === true) { continue; } // Considers RFC 6265 section 5.2: // ... // 3. If the remaining unparsed-attributes contains a %x3B (";") // character: // Consume the characters of the unparsed-attributes up to, // not including, the first %x3B (";") character. // ... stringifiedAttributes += '=' + attributes[attributeName].split(';')[0]; } return (document.cookie = key + '=' + value + stringifiedAttributes); } function get (key, json) { if (typeof document === 'undefined') { return; } var jar = {}; // To prevent the for loop in the first place assign an empty array // in case there are no cookies at all. var cookies = document.cookie ? document.cookie.split('; ') : []; var i = 0; for (; i < cookies.length; i++) { var parts = cookies[i].split('='); var cookie = parts.slice(1).join('='); if (!json && cookie.charAt(0) === '"') { cookie = cookie.slice(1, -1); } try { var name = decode(parts[0]); cookie = (converter.read || converter)(cookie, name) || decode(cookie); if (json) { try { cookie = JSON.parse(cookie); } catch (e) {} } jar[name] = cookie; if (key === name) { break; } } catch (e) {} } return key ? jar[key] : jar; } api.set = set; api.get = function (key) { return get(key, false /* read as raw */); }; api.getJSON = function (key) { return get(key, true /* read as json */); }; api.remove = function (key, attributes) { set(key, '', extend(attributes, { expires: -1 })); }; api.defaults = {}; api.withConverter = init; return api; } return init(function () {}); })); class wjsFloatBanner { params = { "bannerValue": null, "type": "random", "items": [] }; selectItem = { "weight": 1, "linkUrl": null, "imageUrl": null, "imageCaption": null, "svg": null, "hideMessage": "次回から表示させない" }; /** * * @param { * "type": "random" * "items": [] * } params */ constructor(params){ // console.log(['wjsFloatBanner', params]); this.params = Object.assign(this.params, JSON.parse(JSON.stringify(params || {}))); if(!this.params || this.params.items.length == 0){ return; } this.init(); this.view(); }; // init(){ if(!this.params || this.params.items.length == 0){ return; } // console.log(this.params.items); var weightList = []; for(var i=0; i Math.random() - 0.5); this.selectItem = Object.assign(this.selectItem, JSON.parse(JSON.stringify(this.params.items[weightList[0]] || {}))); }; // フロートを表示 view(){ if(!this.params || this.params.items.length == 0){ return; } var layout_type = this.params['layout_type'] || 'layout01'; var html ='
'; $('body').append(html); // flooat-box var popupflg_name = $('#expansionFloatBanner .right-float-in > *').attr('data-name') || 'all'; var popupflg_value = $('#expansionFloatBanner .right-float-in > *').attr('data-value') || 'hidden'; $(document).on("click", "#expansionFloatBanner .btn-close", function(){ $('#expansionFloatBanner').fadeOut(200); }); var wjs_scroll_check = function(){ var popupflg = Cookies.get('wjsfloat_'+popupflg_name) || null; if(popupflg != popupflg_value){ if($('body header').length == 0){ $('#expansionFloatBanner').addClass('scroll-start'); } else if($(window).scrollTop() > $('body header').outerHeight()){ $('#expansionFloatBanner').addClass('scroll-start'); } } }; $(window).scroll(wjs_scroll_check); $(window).resize(wjs_scroll_check); setTimeout(wjs_scroll_check,100); $(document).on("click", "#expansionFloatBanner .btn-hide", function(){ if($(this).find('input[type="checkbox"]').prop('checked')){ Cookies.set('wjsfloat_'+popupflg_name, popupflg_value, {expires:30}); }else{ Cookies.remove('wjsfloat_'+popupflg_name); } }); }; shuffleArray(inputArray){ inputArray.sort(()=> Math.random() - 0.5); }; }