给pjblog所有图片添加渐隐效果

今天晚上想为我的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




评论: 0 | 引用: 0 | 查看次数: 2792
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭