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