Dreamweaver教程 FrontPage教程 Flash教程
  • CSS教程
  • javascript教程
    当前位置:教程 > 网页制作 > CSS教程 > 正文

    CSS 滤镜应用集锦 -- 巧用CSS的 Light 滤镜

    编辑:教程网 来源:网络 时间:2011年09月19日 15:43
    Light滤镜能产生一个模拟光源的效果,但使用它要通过调用它的“方法(Method)”来实现,这就要用到一些Javascrpt知识,虽然有一点难度,但产生的效果也是奇特的,你看看下面的效果图就明白了。

    上面的这种效果是不是很酷?!当你把鼠标在图片上移动时,灯光还会跟着移动呢!不过这里只是我抓的一张图片,当你按我下面介绍的方法做一下,就可以试试如何让灯光跟着鼠标移动的效果了!其实这种效果在DW3中做起来一点都不难,不过这次光用鼠标点点是不行了。那我们就开始做吧。
    1、点击对象面板上的“image"图标插入一幅图片;
    2、用鼠标点一下插入的图片,打开DW3的源码检视窗,在刚插入图片的 “imge"标记中加入这样的代码:ID="lightsy" style="filter:light(enabled=1)" ;
    3、然后在网页的源代码的“image"标记代码后插入这样一段JavaScript 程序:
    < script language="Javascript" >
    < !--
    // 调用设置光源函数
    window.onload=setlights1;
    // 获得鼠标句柄
    lightsy.onmousemove=mousehandler;
    // 调用Light滤镜方法
    function setlights1(){
    lightsy.filters[0].addcone(380,-20,5,100,100,255,255,0,40,25); }
    // 捕捉鼠标的位置来移动光线焦点
    function mousehandler()
    {
    x=(window.event.x-40);
    y=(window.event.y-40);
    lightsy.filters[0].movelight(0,x,y,5,1);
    }
    -- >
    < /script >
    若是你不想让鼠标能控制灯光移动,那么只要下面这样几行代码就行了:
    < script language="Javascript" >
    < !--
    // 调用设置光源函数
    window.onload=setlights1;
    // 调用Light滤镜方法
    function setlights1()
    {
    lightsy.filters[0].addcone(380,-20,5,100,100,255,255,0,40,25); }
    }
    -- >
    < /script >
    至此,按F12就可看到奇妙的效果了,不难吧! 我们不但要知其然,还要知其所以然,本例中很关键的是这句程序代码:lightsy.filters[0].addcone(380,-20,5,100,100,255,255,0,40,25);括号中的数值是可以修改的,通过设置不同的值可以获得各种各样的灯光效果,那么这些数值参数代表什么意思呢?
    第一个参数:光源的X坐标;第二个参数:光源的Y坐标;第三个参数:光源离开页面的高度;第四至第六个参数:光源的颜色;第七个参数:光源光的色相;第八个参数:光源的形状;第九个参数:光源的光的强度 ;第十个参数:光源光散开的范围。
    一个光源不够,怎么办?你可以增加任意个光源。方法也很简单,就是在“setlights1 "函数中再增加几句lightsy.filters[0].addcone(380,-20,5,100,100,255,255,0,40,25)代码 ,不要忘记把参数改动一下,不然的话,光源都有在同一个位置可就看不出效果了。
    上面只是用Javascript调用了Light滤镜的“addcone"(加入锥形光源)和“movelight"(移动光源)方法。Light滤镜还有一些方法,介绍如下:
    addambient : 加入包围的光源;
    addpoint : 加入点光源;
    changcolor :改变光的颜色;
    changestrength:改变光源的强度;
    clear : 清除所有光源。
    我们只要对上面的Javascript程序稍作改动,就可获得更加美妙和效果。
  • 原文来自 教程网 转载请注明:http://www.websmill.com/wangye/css/23977.html

  • 上一篇:CSS 滤镜应用集锦 -- 巧用CSS的 RevealTrans 滤镜
  • 下一篇:CSS 滤镜应用集锦 -- 巧用CSS的 无参数 滤镜