1// JavaScript Document 2 3//追尾ã¦ã£ã¸ã§ãã 4(function($) { 5 $(document).ready(function() { 6 /* 7 Ads Sidewinder 8 by Hamachiya2. https://d.hatena.ne.jp/Hamachiya2/20120820/adsense_sidewinder 9 */ 10 var main = $('main'); // ã¡ã¤ã³ã«ã©ã ã®ID 11 var side = $('#sidebar'); // ãµã¤ããã¼ã®ID 12 var wrapper = $('#widget-tracking'); // åºåãå ãè¦ç´ ã®ID 13 14 var x = 767; 15 var inner_w = window.innerWidth; 16 17 if(x < inner_w){ 18 if( main.length && side.length && wrapper.length ){ // ãã¼ã¸ãã³ãã¬ã¼ãã§ï¼ã«ã©ã 表示ã¿ã¤ããé¸ãã ã¨ãã®ã¨ã©ã¼åé¿ 19 var sideMargin = { 20 top: side.css('margin-top') ? side.css('margin-top') : 0, 21 right: side.css('margin-right') ? side.css('margin-right') : 0, 22 bottom: side.css('margin-bottom') ? side.css('margin-bottom') : 0, 23 left: side.css('margin-left') ? side.css('margin-left') : 0 24 }; 25 26 var w = $(window); 27 var wrapperHeight = wrapper.outerHeight(); 28 var wrapperTop = wrapper.offset().top; 29 var sideLeft = side.offset().left; 30 31 var winLeft; 32 var pos; 33 34 var scrollAdjust = function() { 35 var sideHeight = side.outerHeight(); 36 var mainHeight = main.outerHeight(); 37 var mainAbs = main.offset().top + mainHeight; 38 var winTop = w.scrollTop(); 39 var winLeft = w.scrollLeft(); 40 var winHeight = w.height(); 41 var nf = (winTop > wrapperTop) && (mainHeight > sideHeight) ? true : false; 42 var pos = !nf ? 'static' : (winTop + wrapperHeight) > mainAbs ? 'absolute' : 'fixed'; 43 if (pos === 'fixed') { 44 side.css({ 45 position: pos, 46 top: '', 47 bottom: winHeight - wrapperHeight - 40, 48 left: sideLeft - winLeft, 49 margin: 0 50 }); 51 52 } else if (pos === 'absolute') { 53 side.css({ 54 position: pos, 55 top: mainAbs - sideHeight, 56 bottom: '', 57 left: sideLeft, 58 margin: 0 59 }); 60 61 } else { 62 side.css({ 63 position: pos, 64 marginTop: sideMargin.top, 65 marginRight: sideMargin.right, 66 marginBottom: sideMargin.bottom, 67 marginLeft: sideMargin.left 68 }); 69 } 70 }; 71 72 var resizeAdjust = function() { 73 side.css({ 74 position:'static', 75 marginTop: sideMargin.top, 76 marginRight: sideMargin.right, 77 marginBottom: sideMargin.bottom, 78 marginLeft: sideMargin.left 79 }); 80 sideLeft = side.offset().left; 81 winLeft = w.scrollLeft(); 82 if (pos === 'fixed') { 83 side.css({ 84 position: pos, 85 left: sideLeft - winLeft, 86 margin: 0 87 }); 88 89 } else if (pos === 'absolute') { 90 side.css({ 91 position: pos, 92 left: sideLeft, 93 margin: 0 94 }); 95 } 96 }; 97 w.on('load', scrollAdjust); 98 w.on('scroll', scrollAdjust); 99 w.on('resize', resizeAdjust); 100 } 101 } 102 }); 103})(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.