JavaScript渐变效果的实现
鼠标移上去透明度渐渐增加,鼠标移出,透明度渐渐减小。
关键代码:咸宁市中心小学
1 |
var speed = 0; |
2 |
if (target>obj.alpha){ |
3 |
speed = 5; |
4 |
} else { |
5 |
speed = -5; |
6 |
} |
根据目标值和当时值的对比,来决定是正向还是负向速度。
01 |
for (i=0; i < runs_li.length; i++){ |
02 |
runs_li[i].timer = null ; |
03 |
runs_li[i].alpha = 30; |
04 |
runs_li[i].onmouseover = function (){ |
05 |
startrun( this ,100); |
06 |
} |
07 |
runs_li[i].onmouseout = function (){ |
08 |
startrun( this ,30); |
09 |
} |
10 |
} |
给每一个元素加上各自的透明度值,各自的透明度变化分开。
全部代码:
01 |
<style> |
02 |
#runs{width:300px; margin:10px auto;} |
03 |
#runs li{width:80px; height:80px; background:#06c; list-style:none; float:left; margin:10px; display:inline; filter:alpha(opacity=30); opacity:0.3;} |
04 |
</style> |
05 |
<script> |
06 |
window.onload = function (){ |
07 |
var runs = document.getElementById( "runs" ); |
08 |
var runs_li = runs.getElementsByTagName( "li" ); |
09 |
var i=0; |
10 |
for (i=0; i<runs_li.length; i++){ |
11 |
runs_li[i].timer = null ; |
12 |
runs_li[i].alpha = 30; |
13 |
runs_li[i].onmouseover = function (){ |
14 |
startrun( this ,100); |
15 |
} |
16 |
runs_li[i].onmouseout = function (){ |
17 |
startrun( this ,30); |
18 |
} |
19 |
} |
20 |
} |
21 |
22 |
function startrun(obj,target){ |
23 |
clearInterval(obj.timer); |
24 |
obj.timer = setInterval( function (){ |
25 |
var speed = 0; |
26 |
if (target>obj.alpha){ |
27 |
speed = 5; |
28 |
} else { |
29 |
speed = -5; |
30 |
} |
31 |
|
32 |
if (obj.alpha == target){ |
33 |
clearInterval(obj.timer); |
34 |
} else { |
35 |
obj.alpha = obj.alpha + speed; |
36 |
obj.style.filter = "alpha(opacity=" +obj.alpha+ ")" ; |
37 |
obj.style.opacity = obj.alpha/100; |
38 |
} |
39 |
|
40 |
},30) |
41 |
} |
42 |
43 |
</script> |
44 |
45 |
<ul id= "runs" > |
46 |
<li>简</li> |
47 |
<li>明</li> |
48 |
<li>现</li> |
49 |
<li>代</li> |
50 |
<li>魔</li> |
51 |
<li>法</li> |
52 |
</ul> |
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。