通过alpha变量实现图片透明度渐变(仍然用到JS缓冲运动框架)
2014-08-23 22:09
751 查看
程序思路:
实际上是一种运动。跟运动一样的是,由一个透明度,运动到另一个透明度。
步骤:
1:写一个Div为其赋值为半透明,兼容FF和IE的兼容,这样写css:
opacity:0.3;filter:alpha(opacity=30);
2:写一个onload,获取元素,并为元素添加onmouseover和onmouseout事件。
3:用匀速运动框架,或者缓冲运动框架,写运动函数startMove(target)。当然缓冲运动更加自然一点。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
#test{width:300px; height:300px; background:red; opacity:0.3; filter:alpha(opacity=30)}
</style>
<script>
var timer=null;
var speed=null;
var alpha=30;
window.onload=function(){
var oDiv=document.getElementById("test");
oDiv.onmouseover=function(){
startMove(100);
}
oDiv.onmouseout=function(){
startMove(30);
}
}
function startMove(target){
var oDiv=document.getElementById("test");
clearInterval(timer);
speed=target-alpha>0?Math.ceil((target-alpha)/10):Math.floor((target-alpha)/10);
timer=setInterval(function(){
if(alpha==target){//停止条件
clearInterval(timer);
}
else{
alpha+=speed;//运动细节
oDiv.style.opacity=alpha/100;
oDiv.style.filter="alpha(opacity:"+alpha+")";//由于不能直接获得alpha只能用变量赋值了。
}
},30);
}
</script>
</head>
<body>
<div id="test"></div>
</body>
</html>
实际上是一种运动。跟运动一样的是,由一个透明度,运动到另一个透明度。
步骤:
1:写一个Div为其赋值为半透明,兼容FF和IE的兼容,这样写css:
opacity:0.3;filter:alpha(opacity=30);
2:写一个onload,获取元素,并为元素添加onmouseover和onmouseout事件。
3:用匀速运动框架,或者缓冲运动框架,写运动函数startMove(target)。当然缓冲运动更加自然一点。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
#test{width:300px; height:300px; background:red; opacity:0.3; filter:alpha(opacity=30)}
</style>
<script>
var timer=null;
var speed=null;
var alpha=30;
window.onload=function(){
var oDiv=document.getElementById("test");
oDiv.onmouseover=function(){
startMove(100);
}
oDiv.onmouseout=function(){
startMove(30);
}
}
function startMove(target){
var oDiv=document.getElementById("test");
clearInterval(timer);
speed=target-alpha>0?Math.ceil((target-alpha)/10):Math.floor((target-alpha)/10);
timer=setInterval(function(){
if(alpha==target){//停止条件
clearInterval(timer);
}
else{
alpha+=speed;//运动细节
oDiv.style.opacity=alpha/100;
oDiv.style.filter="alpha(opacity:"+alpha+")";//由于不能直接获得alpha只能用变量赋值了。
}
},30);
}
</script>
</head>
<body>
<div id="test"></div>
</body>
</html>
相关文章推荐
- JavaScript 高级课程之缓冲+多个DIV运动框架实现 + 透明度
- 点滴积累【JS】---JS小功能(JS实现多功能缓冲运动框架)
- 原生JS实现图片无缝滚动方法(附带封装的运动框架)
- 做一个JS实现带渐变可停顿功能的图片轮播
- 通过div透明度实现隐藏div图层效果、通过js控制缩放div效果
- JS实现多物体缓冲运动实例代码
- 三种用CSS滤镜实现的图片透明度及渐变效果
- 基于asp.net+ easyui框架,js提交图片,实现先上传图片再提交表单
- 用js实现缓冲运动效果
- JS返回上一页实例代码通过图片和按钮分别实现
- JS实现多物体缓冲运动实例代码
- 赵雅智_引用开源框架通过AsyncHttpClient实现网络图片查看器
- js实现运动logo图片效果及运动元素对象sportBox使用方法
- 基于asp.net + easyui框架,js实现上传图片之前判断图片格式,同时实现预览,兼容各种浏览器+下载
- 通过JS实现图片的闪烁效果
- Android设置Alpha值实现图片渐变效果
- js实现运动logo图片效果及运动元素对象sportBox使用方法
- js运动框架_包括图片的淡入淡出效果
- 基于asp.net+ easyui框架,js提交图片,实现先上传图片再提交表单
- 基于asp.net + easyui框架,js实现上传图片之前判断图片格式,同时实现预览,兼容各种浏览器+下载