如何用js代码做一个烛光的光晕效果?

JavaScript013

如何用js代码做一个烛光的光晕效果?,第1张

N年前做了一个,你看这个如何?

演示地址:http://test.pc365.net/light.htm

(如打不开,请多刷新几次)

代码如下:

===========================================================

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312">

<title>烛光效果</title>

<STYLE>

.drag

{CURSOR: hand

POSITION: relative

filter:blur(strength=12)

}

</STYLE>

<SCRIPT language=JavaScript>

var dragapproved=false

var z,x,y

function move()

{

if(event.button==1&&dragapproved)

{z.style.pixelLeft=temp1+event.clientX-x

z.style.pixelTop=temp2+event.clientY-y

movelight(z.style.pixelLeft,z.style.pixelTop)

return false

}

}

function drags()

{

if(!document.all) return

if(event.srcElement.className=="drag")

{

dragapproved=truez=event.srcElement

temp1=z.style.pixelLeft

temp2=z.style.pixelTop

x=event.clientXy=event.clientY

document.onmousemove=move

}

}

function setlight(xx,yy)

{

// main.filters.light(0).addambient(235,239,129,110)

main.filters.light(0).addpoint(xx,yy,50,235,239,169,100)

//x坐标,y坐标,扩散范围,颜色,颜色,颜色,强度

//main.filters.light(0).addcone(xx,yy,0,100,100,200,204,200,180,20)

}

//第一个参数:光源的X坐标;第二个参数:光源的Y坐标;第三个参数:光源离开页面的高度;

//第四至第六个参数:光源的颜色;第七个参数:光源光的色相;第八个参数:光源的形状;

//第九个参数:光源的光的强度 ;第十个参数:光源光散开的范围。

function movelight(xx,yy)

{

xx+=400

yy+=50

main.filters.light(0).clear()

setlight(xx,yy)

}

document.onmousedown=drags

document.onmouseup=new Function("dragapproved=false")

</SCRIPT>

</head>

<body bgcolor="#000000" topmargin="0" leftmargin="0">

<div id='Layerw' style='position: absoluteleft: 0top:50width: 100%height: 40z-index: 1' align="center">

<img src="http://test.pc365.net/lz.gif" alt="蜡烛照明 拖动使用" class=drag width="98" height="120">

</div>

<div align="center" >

<center>

<table id="main" border="0" width="780" cellpadding="0" cellspacing="0" height="580" background="images/house.gif" style="filter:light">

<tr >

<td width="100%">

<p align="center"><img id="pt" border="0" src="http://test.pc365.net/123456.jpg" ></p>

</td>

</tr>

</table>

</center>

</div>

</body>

</html>

<script>setlight(400,50)</script>

主要利用css3 animation, 在0 ~ 100% 过渡中让box-shadow渐变(box-shadow只需要设置blur 和spread)

HTML:

CSS:

预览效果入如下:

1、首先准备一个HTML文档,文档中准备好两个图片,接下来会对这两个图片进行旋转。

2、然后对HTML中的内容定义一些样式,如下图所示,主要是标题以及ul的样式。

3、接下来就给图片所在的li定义宽高,如下图所示。

4、然后给图片设置过渡效果,过渡使用transition属性,如下图所示。

5、当鼠标悬停在图片上时,通过rotate给其设置变形,如下图所示,正数代表的是顺时针,负数代表的是逆时针。

6、最后运行程序,会看到如下图所示的效果,鼠标放在图片上会顺时针或者逆时针旋转。