js小动画效果完整版
来源:互联网 发布:防火墙 vlan 网络隔离 编辑:程序博客网 时间:2024/05/16 02:05
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
#div1{
width: 100px;
height: 100px;
background-color: red;
opacity: 0.3;
}
</style>
</head>
<body>
<div id="div1"></div>
<script type="text/javascript">
var oDiv = document.getElementById('div1');
oDiv.onmouseover = function(){
startMove(this,{width:200,height:200,opacity:1});
}
oDiv.onmouseout = function(){
startMove(this,{width:100,height:100,opacity:0.3});
}
</script>
<script type="text/javascript" src="js/perfectMove.js"></script>
</body>
</html>
/*perfectMove.js*/
//获得标签属性
function getStyle(obj, attr/*属性*/) {
if(obj.currentStyle) {
return obj.currentStyle[attr];
} else {
return getComputedStyle(obj, false)[attr];
}
}
function startMove(obj, json, fn) {
clearInterval(obj.time);//防止多次触发事件改变运动
obj.time = setInterval(function() {
//用来判断所有运动都结束
var isStop = true;
for(var attr in json) {
var curr = 0;
var speed = 0;
//如果是不透明度
if(attr == "opacity") {
//取到起始点
curr = parseFloat(getStyle(obj, attr));
//设置速度
speed = (json[attr] - curr) * 100 / 8;
} else {
//取到起始点
curr = parseInt(getStyle(obj, attr));
//设置速度
speed = (json[attr] - curr) / 8;
}
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
//如果有一个属性值未达到目标值的时候
if(curr != json[attr]) {
isStop = false;
}
//如果是不透明度
if(attr == "opacity") {
obj.style[attr] = parseFloat((curr + speed / 100).toFixed(2));
} else {
obj.style[attr] = curr + speed + "px";
}
}
//当所有属性值到达目标值时,停止
if(isStop) {
clearInterval(obj.time);
if(fn) {
fn();
}
}
}, 30);
}
- js小动画效果完整版
- js动画效果
- js动画效果
- js动画效果
- js实现动画效果
- js中的动画效果
- js原生动画效果
- JS动画效果
- JS动画效果
- 常见JS动画效果
- android 自定义Dialog提示+动画效果(完整版)
- js小效果
- 20150730 JS动画效果实现
- Tweenmax.js 绳索动画效果
- JS实现动画效果框架
- js延迟动画效果demo
- three.js 动画效果01
- 用js实现动画效果
- PHP命名空间(Namespace)的使用详解
- LightOJ 1220 Mysterious Bacteria
- 三位数的进阶
- android dialog 总结
- 【Linux】信号的基础知识&mysleep的实现
- js小动画效果完整版
- Android设置本地闹钟提醒遇到过的问题
- 400总结
- Python--正则表达模块re
- lgP1364
- Activity四大组件之一
- Andorid ,遇到bug没人帮?网络提问没有人回?那还等什么?
- 使用sublime一键格式化XML文件
- andriod中的 Application类用法