给pjblog所有图片添加渐隐效果
作者:岸上的鱼 日期:2009-01-11
今天晚上想为我的blog的所有图片添加鼠标移进移出渐隐效果
耗费了大量的脑细胞,终于在睡觉之前实现了,MARK一下。
在common/common.js文件的第56行加入:
if(document.images[i].width>100 || document.images[i].height>100){
document.images[i].style.filter="alpha(opacity=55)";
if(window.addEventListener){
document.images[i].addEventListener('onmouseout', newfunc(document.images[i],50,10,5), false);
document.images[i].addEventListener('onmouseover', newfunc(document.images[i],100,10,5), false);
} else {
document.images[i].attachEvent('onmouseout',newfunc(document.images[i],50,10,5));
document.images[i].attachEvent('onmouseover',newfunc(document.images[i],100,10,5));
}
}
加入两个函数:
var newfunc = function(obj,par1,par2,par3)
{
return function()
{
nereidFade(obj,par1,par2,par3);
}
}
nereidFadeObjects = new Object();
nereidFadeTimers = new Object();
function nereidFade(object, destOp, rate, delta){//alert(object.src);//return;
if (!document.all)
return
if (object != "[object]"){ //do this so I can take a string too
setTimeout("nereidFade("+object+","+destOp+","+rate+","+delta+")",0);
return;
}
clearTimeout(nereidFadeTimers[object.sourceIndex]);
diff = destOp-object.filters.alpha.opacity;
direction = 1;
if (object.filters.alpha.opacity > destOp){
direction = -1;
}
delta=Math.min(direction*diff,delta);
object.filters.alpha.opacity+=direction*delta;
if (object.filters.alpha.opacity != destOp){
nereidFadeObjects[object.sourceIndex]=object;
nereidFadeTimers[object.sourceIndex]=setTimeout("nereidFade(nereidFadeObjects["+object.sourceIndex+"],"+destOp+","+rate+","+delta+")",rate);
}
}
好了,大功告成了!
参考文章:
http://www.luzecan.cn/article.asp?id=53
http://www.luzecan.cn/article.asp?id=52