1/*-------------------------------- 2 åºåã®ããã¼ã 3 -------------------------------*/ 4if( window.matchMedia('(max-width:781px)').matches ){ 5//780以ä¸ã®æã®å¦ç 6}else{ 7//780以ä¸ã®æã®å¦ç 8 ;(function ($) { 9 'use strict'; 10 11 $(function () { 12 var $main = $('main'); // ã¡ã¤ã³ã«ã©ã ã®ID 13 var $side = $('#side aside'); // ãµã¤ããã¼ã®ID 14 var $wrapper = $('#scrollad'); // åºåãå ãè¦ç´ ã®ID 15 16 if ($main.length === 0 || $side.length === 0 || $wrapper.length === 0) { 17 return; 18 } 19 20 var $window = $(window); 21 var wrapperHeight = $wrapper.outerHeight(); 22 var wrapperTop = $wrapper.offset().top; 23 var sideLeft = $side.offset().left; 24 25 var sideMargin = { 26 top: $side.css('margin-top') ? $side.css('margin-top') : 0, 27 right: $side.css('margin-right') ? $side.css('margin-right') : 0, 28 bottom: $side.css('margin-bottom') ? $side.css('margin-bottom') : 0, 29 left: $side.css('margin-left') ? $side.css('margin-left') : 0 30 }; 31 32 var winLeft; 33 var pos; 34 35 var scrollAdjust = function () { 36 var sideHeight = $side.outerHeight(); 37 var mainHeight = $main.outerHeight(); 38 var mainAbs = $main.offset().top + mainHeight; 39 var winTop = $window.scrollTop(); 40 var winHeight = $window.height(); 41 var nf = (winTop > wrapperTop) && (mainHeight > sideHeight) ? true : false; 42 43 winLeft = $window.scrollLeft(); 44 pos = !nf ? 'static' : (winTop + wrapperHeight) > mainAbs ? 'absolute' : 'fixed'; 45 46 if (pos === 'fixed') { 47 $side.css({ 48 position: pos, 49 top: '', 50 bottom: winHeight - wrapperHeight, 51 left: sideLeft - winLeft, 52 margin: 0 53 }); 54 } else if (pos === 'absolute') { 55 $side.css({ 56 position: pos, 57 top: mainAbs - sideHeight, 58 bottom: '', 59 left: sideLeft, 60 margin: 0 61 }); 62 } else { 63 $side.css({ 64 position: pos, 65 marginTop: sideMargin.top, 66 marginRight: sideMargin.right, 67 marginBottom: sideMargin.bottom, 68 marginLeft: sideMargin.left 69 }); 70 } 71 }; 72 73 var resizeAdjust = function () { 74 $side.css({ 75 position: 'static', 76 marginTop: sideMargin.top, 77 marginRight: sideMargin.right, 78 marginBottom: sideMargin.bottom, 79 marginLeft: sideMargin.left 80 }); 81 82 sideLeft = $side.offset().left; 83 winLeft = $window.scrollLeft(); 84 85 if (pos === 'fixed') { 86 $side.css({ 87 position: pos, 88 left: sideLeft - winLeft, 89 margin: 0 90 }); 91 } else if (pos === 'absolute') { 92 $side.css({ 93 position: pos, 94 left: sideLeft, 95 margin: 0 96 }); 97 } 98 }; 99 100 scrollAdjust(); 101 102 $window.on('scroll', scrollAdjust); 103 $window.on('resize', function () { 104 scrollAdjust(); 105 resizeAdjust(); 106 }); 107 }); 108 })(jQuery); 109 110}
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.