用代码模拟的模块阴影效果【搁浅中的想法】

突发奇想,想用代码模拟一个阴影出来,就和代码模拟圆角模块一样去拼一个阴影出来。

 

可是写了一半,搁浅了,自己心里比较纠结:感觉写的出来用处不大,还不如PNG和CSS代码的效果好,且有一个最大的缺点就是在阴影对角那块无法对接,一般的阴影都是圆角的逐渐变淡,如这样的,我冥思苦想都无法实现这样的效果。

 

所以就随便写了如下一个简单的阴影效果:

 

代码如下:

<div class="articleQuote">
  function shadow(elem, aspect, count, bColor, inOpacity){
// 阴影的节点
// 阴影的方向,包含 top/right/bottom/left 可以同时出现多个 如:"top right bottom left"
// 阴影的大小
// 阴影颜色
  var bColor = bColor||"#000000";
  var inOpacity = inOpacity || 100;
  setStyle(elem, {position:"relative"});
  _width = elem.clientWidth;
  function topShadow(){
    for(var i=0; i<count; i++){
      var _top = i;
      var _left = 0;
      _left = i;
      _width -= 2;
      var _opacity = inOpacity-(inOpacity/count)*i;
      var opDiv = document.createElement("div");
      setStyle(opDiv, {background:bColor, height:"1px", width:_width+"px", fontSize:"0px", position:"absolute", left:_left+"px", top:_top+"px", overflow:"hidden"});
      //alert(_opacity);
      setOpacity(opDiv, _opacity);
      elem.appendChild(opDiv);
    }
  }
  topShadow();
}

 

有兴趣的同学继续完善吧,有好的观点也可在评论中提出,共同探讨。

 

Comments are closed.