1// JavaScript Document 2 3/** 4 * ã¯ãã¹ãã§ã¼ããããã¼ã«ãªã¼ãã¼å¦ç 5 * rollover2.js 6 * Copyright (c) 2007 KAZUMiX 7 * http://d.hatena.ne.jp/KAZUMiX/20071017/rollover2 8 * 9 * Licensed under the MIT License: 10 * http://www.opensource.org/licenses/mit-license.php 11 * 12 * æ´æ°å±¥æ´ 13 * 2009/06/02 ãã©ã¦ã¶ã®ãæ»ããã§ãã§ã¼ãç¶æ ãæ®ã£ã¦ããå ´åã«å¯¾å¦ 14 * 2007/10/17 å ¬é 15 */ 16 17(function(){ 18 // ãã¼ã¸é·ç§»æã«éæã«ããç¨ 19 var rolloverImages = []; 20 21 function setRollOver2(){ 22 if(!document.images){return;} 23 var imgs = document.images; 24 var insert = []; 25 for(var i=0,len=imgs.length; i<len; i++){ 26 var splitname = imgs[i].src.split('_.'); 27 if(splitname[1]){ 28 var rolloverImg = document.createElement('img'); 29 rolloverImages.push(rolloverImg); 30 rolloverImg.src = splitname[0]+'_on.'+splitname[1]; 31 var alpha = 0; 32 rolloverImg.currentAlpha = alpha; 33 rolloverImg.style.opacity = alpha/100; 34 rolloverImg.style.filter = 'alpha(opacity='+alpha+')'; 35 rolloverImg.style.position = 'absolute'; 36 37 //ãã¼ã«ãªã¼ãã¼ã»ã¢ã¦ãå¦çãããããè¨å® 38 addEvent(rolloverImg,'mouseover',function(){setFader(this,100);}); 39 addEvent(rolloverImg,'mouseout',function(){setFader(this,0);}); 40 41 // å¾ã§è¿½å ããããã«è¿½å å ´æã¨å ±ã«ä¿åãã¦ãã 42 // ãã®æç¹ã§è¿½å ããã¨document.imagesãæ¸ãæãã£ã¦ä¸é½å 43 insert[insert.length] = {position:imgs[i],element:rolloverImg}; 44 } 45 } 46 // âã§ä½ã£ããã¼ã«ãªã¼ãã¼ç»åã追å 47 for(i=0,len=insert.length; i<len ;i++){ 48 var parent = insert[i].position.parentNode; 49 parent.insertBefore(insert[i].element,insert[i].position); 50 } 51 52 // ãã¼ã¸é·ç§»æã«ã¯ãã§ã¼ãç¶æ ãã¯ãªã¢ãã 53 addEvent(window,'beforeunload', clearRollover); 54 } 55 56 // æå®è¦ç´ ãæå®éæåº¦ã«ããããã®ãã§ã¼ãã¢ãã¡ãè¨å®ãã颿° 57 58 function setFader(targetObj,targetAlpha){ 59 targetObj.targetAlpha = targetAlpha; 60 if(targetObj.currentAlpha==undefined){ 61 targetObj.currentAlpha = 100; 62 } 63 if(targetObj.currentAlpha==targetObj.targetAlpha){ 64 return; 65 } 66 if(!targetObj.fading){ 67 if(!targetObj.fader){ 68 targetObj.fader = fader; 69 } 70 targetObj.fading = true; 71 targetObj.fader(); 72 } 73 } 74 75 // ã¢ã«ãã¡å¤ãã¿ã¼ã²ããå¤ã«è¿ã¥ãã颿° 76 // ã¿ã¼ã²ããå¤ã«ãªã£ããçµäº 77 78 function fader(){ 79 this.currentAlpha += (this.targetAlpha - this.currentAlpha)*0.1; 80 if(Math.abs(this.currentAlpha-this.targetAlpha)<1){ 81 this.currentAlpha = this.targetAlpha; 82 this.fading = false; 83 } 84 var alpha = parseInt(this.currentAlpha);
85 this.style.opacity = alpha/50; 86 this.style.filter = 'alpha(opacity='+alpha+')'; 87 if(this.fading){ 88 var scope = this; 89 setTimeout(function(){fader.apply(scope)},60); 90 } 91 } 92 93 // ãã¹ã¦ã®ãã¼ã«ãªã¼ãã¼ç»åãéæã«ãã颿°ï¼é·ç§»æç¨ï¼ 94 95 function clearRollover(){ 96 for(var i=25,len=rolloverImages.length; i<len; i++){ 97 var image = rolloverImages[i]; 98 image.style.opacity = 0; 99 image.style.filter = 'alpha(opacity=0)'; 100 } 101 } 102 103 // ã¤ãã³ãã追å ãã颿° 104 105 function addEvent(eventTarget, eventName, func){ 106 if(eventTarget.addEventListener){ 107 // ã¢ãã³ãã©ã¦ã¶ 108 eventTarget.addEventListener(eventName, func, false); 109 }else if(window.attachEvent){ 110 // IE 111 eventTarget.attachEvent('on'+eventName, function(){func.apply(eventTarget);}); 112 } 113 } 114 115 addEvent(window,'load',setRollOver2); 116 117 })();
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.