简易透明度和运动框架
来源:互联网 发布:帝国cms权限设置 编辑:程序博客网 时间:2024/05/18 01:27
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Demo</title>
<link rel="icon" href="images/2.jpg" />
<style>
*{margin:0;padding:0;}
html,body{width:100%;height:100%;}
#div1{width:100px;height:100px;background-color:#660099;position:absolute;left:0px;top:0px;}
#div2{width:100px;height:100px;background-color:#ff99ff;position:absolute;left:120px;top:0px;}
</style>
</head>
<body>
<div id="div1">
</div>
<script>
window.onload=function(){
addPic();
}
function addPic(){
var div1=document.getElementById("div1");
onMove(div1,"width",200,5,function(){
onOpac(div1,"opacity",10,5,function(){
onOpac(div1,"opacity",100,5,function(){
onMove(div1,"height",300,5,function(){
onMove(div1,"height",200,5)
})
})
})
});
}
function onMove(obj,attr,iTarget,iSpeed,fn){
var timer=null;
var num=0;
var t=0;//obj实时位置
clearInterval(timer);
timer=setInterval(function(){
var t=getStyle(obj,attr);
if(t<iTarget){
num=Math.ceil((iTarget-t)/iSpeed);
}else{
num=Math.floor((iTarget-t)/iSpeed);
}
if(t==iTarget){
clearInterval(timer);
if(fn){
fn();
}
}else{
obj.style[attr]=t+num+"px";
}
},50)
}
function onOpac(obj,attr,iTarget,iSpeed,fn){
var timer=null;
var t=0;
var num=0;
clearInterval(timer);
timer=setInterval(function(){
t=(getStyle(obj,attr)).toFixed(2)*100;//要加toFixed
if(t<iTarget){
num=Math.ceil((iTarget-t)/iSpeed);
}else{
num=Math.floor((iTarget-t)/iSpeed);
}
if(t==iTarget){
clearInterval(timer);
if(fn){
fn();
}
}else{
obj.style[attr]=(t+num)/100;
}
},50);
}
function getStyle(obj,attr){
return parseFloat(getComputedStyle(obj,null)[attr]);//要用parseFloat
}
</script>
</body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Demo</title>
<link rel="icon" href="images/2.jpg" />
<style>
*{margin:0;padding:0;}
html,body{width:100%;height:100%;}
#div1{width:100px;height:100px;background-color:#660099;position:absolute;left:0px;top:0px;}
#div2{width:100px;height:100px;background-color:#ff99ff;position:absolute;left:120px;top:0px;}
</style>
</head>
<body>
<div id="div1">
</div>
<script>
window.onload=function(){
addPic();
}
function addPic(){
var div1=document.getElementById("div1");
onMove(div1,"width",200,5,function(){
onOpac(div1,"opacity",10,5,function(){
onOpac(div1,"opacity",100,5,function(){
onMove(div1,"height",300,5,function(){
onMove(div1,"height",200,5)
})
})
})
});
}
function onMove(obj,attr,iTarget,iSpeed,fn){
var timer=null;
var num=0;
var t=0;//obj实时位置
clearInterval(timer);
timer=setInterval(function(){
var t=getStyle(obj,attr);
if(t<iTarget){
num=Math.ceil((iTarget-t)/iSpeed);
}else{
num=Math.floor((iTarget-t)/iSpeed);
}
if(t==iTarget){
clearInterval(timer);
if(fn){
fn();
}
}else{
obj.style[attr]=t+num+"px";
}
},50)
}
function onOpac(obj,attr,iTarget,iSpeed,fn){
var timer=null;
var t=0;
var num=0;
clearInterval(timer);
timer=setInterval(function(){
t=(getStyle(obj,attr)).toFixed(2)*100;//要加toFixed
if(t<iTarget){
num=Math.ceil((iTarget-t)/iSpeed);
}else{
num=Math.floor((iTarget-t)/iSpeed);
}
if(t==iTarget){
clearInterval(timer);
if(fn){
fn();
}
}else{
obj.style[attr]=(t+num)/100;
}
},50);
}
function getStyle(obj,attr){
return parseFloat(getComputedStyle(obj,null)[attr]);//要用parseFloat
}
</script>
</body>
</html>
0 0
- 简易透明度和运动框架
- JS简易运动框架
- javaScript简易运动框架封装——和派孔明
- 合并运动及透明度框架(含json)
- 在IE8下通过运动框架调整透明度时注意事项
- 物体任意值运动框架(包括透明度)move.js
- tx4-封装运动框架基本函数-多属性-定时器-透明度
- tx4-封装运动框架多属性函数-定时器-透明度-zIndex
- 透明度变化和所有px为单位的运动
- 原生Js完美运动框架(缓冲运动和弹性运动)
- 运动框架和隐藏边框
- 通过alpha变量实现图片透明度渐变(仍然用到JS缓冲运动框架)
- 完美运动框架(可以改变元素的透明度,宽,高,top,left,字体大小等)
- JavaScript 高级课程之缓冲+多个DIV运动框架实现 + 透明度
- JS多物体透明度运动
- 简易物体运动
- 运动框架
- 运动框架
- Android Fragment 真正的完全解析(下)
- 框架服务器报错
- jstl中<c:forEach>的用法
- Activity完全退出
- 38. Element cloneNode() 方法
- 简易透明度和运动框架
- Numpy入门教程
- 如何在FreeRTOS-Plus-CLI中添加一个自己的命令行
- 数据库的分类
- 跟着淘宝卖家学转化 打造超高转化率的十大狠招
- 39. Element compareDocumentPosition() 方法
- 文本框点击事件
- ent0 en0 et0 专题总结
- Docker daemon日志的位置