1// UTF-8 2/** 3 * scrollsmoothly.js 4 * Copyright (c) 2008 KAZUMiX 5 * http://d.hatena.ne.jp/KAZUMiX/20080418/scrollsmoothly 6 * Licensed under the MIT License: 7 * http://www.opensource.org/licenses/mit-license.php 8 * 9 * æ´æ°å±¥æ´ 10 * 2009/02/12 11 * ã¹ã¯ãã¼ã«å ãç»é¢å·¦ä¸ã«ãªããªãå ´åã®æåãä¿®æ£ 12 * 2008/04/18 13 * å ¬é 14 * 15*/ 16 17(function(){ 18 var easing = 0.5; 19 var interval = 35; 20 var d = document; 21 var targetX = 0; 22 var targetY = 0; 23 var targetHash = ''; 24 var scrolling = false; 25 var splitHref = location.href.split('#'); 26 var currentHref_WOHash = splitHref[0]; 27 var incomingHash = splitHref[1]; 28 var prevX = null; 29 var prevY = null; 30 31 // ããã¥ã¡ã³ãèªã¿è¾¼ã¿å®äºæã«init()ãå®è¡ãã 32 addEvent(window, 'load', init); 33 34 // ããã¥ã¡ã³ãèªã¿è¾¼ã¿å®äºæã®å¦ç 35 function init(){ 36 // ãã¼ã¸å ãªã³ã¯ã«ã¤ãã³ããè¨å®ãã 37 setOnClickHandler(); 38 // å¤é¨ãããã¼ã¸å ãªã³ã¯ä»ãã§å¼ã³åºãããå ´å 39 if(incomingHash){ 40 if(window.attachEvent && !window.opera){ 41 // IEã®å ´åã¯ã¡ãã£ã¨å¾ ã£ã¦ããã¹ã¯ãã¼ã« 42 setTimeout(function(){scrollTo(0,0);setScroll('#'+incomingHash);},50); 43 }else{ 44 // IE以å¤ã¯ãã®ã¾ã¾GO 45 scrollTo(0, 0); 46 setScroll('#'+incomingHash); 47 } 48 } 49 } 50 51 // ã¤ãã³ãã追å ãã颿° 52 function addEvent(eventTarget, eventName, func){ 53 if(eventTarget.addEventListener){ 54 // ã¢ãã³ãã©ã¦ã¶ 55 eventTarget.addEventListener(eventName, func, false); 56 }else if(window.attachEvent){ 57 // IE 58 eventTarget.attachEvent('on'+eventName, function(){func.apply(eventTarget);}); 59 } 60 } 61 62 function setOnClickHandler(){ 63 var links = d.links; 64 for(var i=0; i<links.length; i++){ 65 // ãã¼ã¸å ãªã³ã¯ãªãã¹ã¯ãã¼ã«ããã 66 var link = links[i]; 67 var splitLinkHref = link.href.split('#'); 68 if(currentHref_WOHash == splitLinkHref[0] && d.getElementById(splitLinkHref[1])){ 69 addEvent(link, 'click', startScroll); 70 } 71 } 72 } 73 74 function startScroll(event){ 75 // ãªã³ã¯ã®ããã©ã«ãåä½ã殺ã 76 if(event){ // ã¢ãã³ãã©ã¦ã¶ 77 event.preventDefault(); 78 //alert('modern'); 79 }else if(window.event){ // IE 80 window.event.returnValue = false; 81 //alert('ie'); 82 } 83 // thisã¯å¼ã³åºãå ã«ãªã£ã¦ã 84 setScroll(this.hash); 85 } 86 87 function setScroll(hash){ 88 // ããã·ã¥ããã¿ã¼ã²ããè¦ç´ ã®åº§æ¨ãã²ãããã 89 var targetEle = d.getElementById(hash.substr(1)); 90 if(!targetEle)return; 91 //alert(scrollSize.height); 92 // ã¹ã¯ãã¼ã«å 座æ¨ãã»ãããã 93 var ele = targetEle; 94 var x = 0; 95 var y = 0; 96 while(ele){ 97 x += ele.offsetLeft; 98 y += ele.offsetTop; 99 ele = ele.offsetParent; 100 } 101 var maxScroll = getScrollMaxXY(); 102 targetX = Math.min(x, maxScroll.x); 103 targetY = Math.min(y, maxScroll.y); 104 targetHash = hash; 105 // ã¹ã¯ãã¼ã«åæ¢ä¸ãªãã¹ã¯ãã¼ã«éå§ 106 if(!scrolling){ 107 scrolling = true; 108 scroll(); 109 } 110 } 111 112 function scroll(){ 113 var currentX = d.documentElement.scrollLeft||d.body.scrollLeft; 114 var currentY = d.documentElement.scrollTop||d.body.scrollTop; 115 var vx = (targetX - currentX) * easing; 116 var vy = (targetY - currentY) * easing; 117 var nextX = currentX + vx; 118 var nextY = currentY + vy; 119 if((Math.abs(vx) < 1 && Math.abs(vy) < 1) 120 || (prevX === currentX && prevY === currentY)){ 121 // ç®æ¨åº§æ¨ä»è¿ã«å°éãã¦ãããçµäº 122 scrollTo(targetX, targetY); 123 scrolling = false; 124 location.hash = targetHash; 125 prevX = prevY = null; 126 return; 127 }else{ 128 // ç¹°ãè¿ã 129 scrollTo(parseInt(nextX), parseInt(nextY)); 130 prevX = currentX; 131 prevY = currentY; 132 setTimeout(function(){scroll()},interval); 133 } 134 } 135 136 function getDocumentSize(){ 137 return {width:Math.max(document.body.scrollWidth, document.documentElement.scrollWidth), height:Math.max(document.body.scrollHeight, document.documentElement.scrollHeight)}; 138 } 139 140 function getWindowSize(){ 141 var result = {}; 142 if(window.innerWidth){
143 var box = d.createElement('div'); 144 with(box.style){ 145 position = 'absolute'; 146 top = '0px'; 147 left = '0px'; 148 width = '100%'; 149 height = '100%'; 150 margin = '0px'; 151 padding = '0px'; 152 border = 'none'; 153 visibility = 'hidden'; 154 } 155 d.body.appendChild(box); 156 var width = box.offsetWidth; 157 var height = box.offsetHeight; 158 d.body.removeChild(box); 159 result = {width:width, height:height}; 160 }else{ 161 result = {width:d.documentElement.clientWidth || d.body.clientWidth, height:d.documentElement.clientHeight || d.body.clientHeight}; 162 } 163 return result; 164 } 165 166 function getScrollMaxXY() { 167 if(window.scrollMaxX && window.scrollMaxY){ 168 return {x:window.scrollMaxX, y:window.scrollMaxY}; 169 } 170 var documentSize = getDocumentSize(); 171 var windowSize = getWindowSize(); 172 return {x:documentSize.width - windowSize.width, y:documentSize.height - windowSize.height}; 173 } 174 175 }()); 176 177 178$(function(){ 179 var setImg = '.img-intro01'; 180 var fadeSpeed = 1500; 181 var switchDelay = 5000; 182 183 $(setImg).children('img').css({opacity:'0'}); 184 $(setImg + ' img:first').stop().animate({opacity:'1',zIndex:'20'},fadeSpeed); 185 186 setInterval(function(){ 187 $(setImg + ' :first-child').animate({opacity:'0'},fadeSpeed).next('img').animate({opacity:'1'},fadeSpeed).end().appendTo(setImg); 188 },switchDelay); 189}); 190 191 192$(function(){ 193 var setImg = '.img-intro02'; 194 var fadeSpeed = 1500; 195 var switchDelay = 5000; 196 197 $(setImg).children('img').css({opacity:'0'}); 198 $(setImg + ' img:first').stop().animate({opacity:'1',zIndex:'20'},fadeSpeed); 199 200 setInterval(function(){ 201 $(setImg + ' :first-child').animate({opacity:'0'},fadeSpeed).next('img').animate({opacity:'1'},fadeSpeed).end().appendTo(setImg); 202 },switchDelay); 203}); 204
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.