刚学的运动框架

 <ul><li id="li"></li></ul>

li{
    list-style: none;
    width: 200px;
    height: 100px;
    border: 2px solid #000;
    background: yellow;
    filter: alpha(opacity:30);
    opacity: .3;
}  
1 <script>

2   window.onload = function(){
 3       var aLi = document.getElentById(‘li‘);
 4       aLi.onmouseover = function(){
 5           startMove(Li,{width:400,height:400,opacity:0.5});
 6   }
 7 };
 8 function startMove(obj,json,func){
 9   clearInterval(obj.timer);            //避免对象争时,先清除每个对象可能存在的setInterval
10   obj.timer = setInterval(function(){
11       for(var attr in json){
12        var flag = true;  //定义一个标杆
13        var icur = 0;
14         if(attr == ‘opacity‘){
15            icur = Math.round(parseFloat(getStyle(obj,opacity))*100);
16         }else{
17            icur = parseInt(getStyle(obj.attr));
18           }
19        }
20         var speed = (json[attr]-icur)/8;     //定义一个速度
21         speed = speed>0?Math.ceil(speed):Math.floor(speed);
22         if(icur != json[attr]){    //判断元素属性是否完全等于目标值
23             flag = flase;          //如果flag为假则按要求改变
24          }
25            if(attr == ‘opacity‘){
26           obj.style.opaciyt = (icur + speed)*100;
27           obj.style.filter = ‘alpah(opacity:‘+(icur + speed)+‘)‘
28          }else{
29              obj.style[attr] = icur + speed +‘px‘;
30           }
31           if(flag){
32             clearInterval(obj.timer);
33             if(func){
34                func();
35               }
36           }
37   },30)
38 }     //获取元素自身属性
39 function getStyle(obj,attr){
40    if(obj.currentStyle){
41       return obj.currentStyle[attr];
42     }else{
43       return getComputerStyle(obj,false)[attr];
44        }
45   }
46 </script>
时间: 2024-10-18 03:53:41

刚学的运动框架的相关文章

带无缝滚动的轮播图(含JS运动框架)

今天学习了一下轮播图的写作,想到前一阵学过的无缝滚动得思想,所以就把轮播与滚动结合了一下.不过我的代码的神逻辑我自己都不敢恭维,在没网没参照的情况下,只能硬着头皮往下写,希望跟大家共勉吧. js运动框架的代码如下: 1 //获取样式 2 function getStyle(obj,attr){ 3 if(obj.currentStyle){ 4 return obj.currentStyle[attr]; 5 }else{ 6 return getComputedStyle(obj,false)

译-2018年该学哪一个JavaScript框架?

首先我要定义一下我心中的代码框架,因为这个词存在争议.我认为框架是一个库(注:个人不太同意这个说法),它定义了每一个方面或层的结构,使创建应用程序的任务变得更容易.从层上说,我指的是数据库.模型.控制器.视图.表现层.网络,等等...... 框架尝试去解决在应用中经常遇到的绝大多数大且已知的问题.它们内置了许多你不需要关心的设计决策,它们同样也有精心制定的指导方针. 好的框架有巧妙的默认值以及遵循约定而不是配置的概念,在这方面做得好的是 Ruby On Rails 框架,同时也是我最喜欢的框架之

原生JS封装运动框架

昨天我们说了一下原生JS中常用的兼容性写法,今天我们来说一下运动框架. 正常情况下我们要写一个运动的效果会用到tween.js这么一个插件,这个东西不是一般人写出来的,因为里面涉及的运动效果都是经过一堆数学的函数运算出来的,我们平常人是写不出来的,所有我们就自己封装一个运动框架,有什么问题改起来也方便,下面我们就开始封装. 首先,我们先写一个div,设置一些简单的样式,我们就拿这个div举例子,如下代码: #div{ width: 100px; height: 100px; background

封装运动框架单个属性

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>封装运动框架的单个属性</title> <style> div{ width: 100px; height: 100px; font-weight:bold;">pink; position: absolute; left: 10px

JS 之完美运动框架

完美运动框架是对原来的任意值运动框架的改善和效率的提升,即利用了json对属性进行封装,从而提高效率: window.onload=function(){ var oDiv=document.getElementsByTagName('div')[0]; oDiv.onmouseover=function(){ move(this,{width:200,height:200}); } } function getStyle(obj,attr){ if (obj.currentStyle) { r

JavaScript的运动框架学习总结

一.目录 1. 入门案例——实现匀速运动 2. 入门案例——实现缓冲运动 3. 实现任意值的运动框架v.1 4. 改进任意值的运动框架v.2 5. 改进任意值的运动框架v.3 6. 实现链式运动框架 7. 实现完美运动框架 二.内容 1. 入门案例——实现匀速运动 ①. 要求:只要简单的实现传入的对象和运动的最终目标,便能操作该对象的left属性的大小匀速的变化到目标大小. ②. 具体代码: 1 <!DOCTYPE html> 2 <html lang="en">

JS的完美运动框架

function getStyle(obj, name) { if(obj.currentStyle) { return obj.currentStyle[name]; } else { return getComputedStyle(obj, false)[name]; } } //注意:在多物体运动框架中,所有东西都不能公用 !否则出问题,BUG:将必要的变量加到物体的属性中就行.即:属性与运动对象绑定:速度.其他属性值(如透明度等等) function startMove(obj, jso

多用途运动框架

该运动框架可以用于改变宽度.高度.字体大小.透明度.Left.top等值 先上一个获取真正样式的函数 //定义getStyle函数,获取真正样式 function getStyle(obj,attr){ if(obj.currentStyle){//兼容IE return obj.currentStyle[attr]; }else if(window.getComputedStyle(obj,false)){//兼容FF return getComputedStyle(obj,false)[at

【repost】JavaScript运动框架之速度时间版本

一.JavaScript运动框架之速度版 1.1 运动框架的实现思路 运动,其实就是在一段时间内改变 left . right . width . height . opactiy 的值,到达目的地之后停止 位移 top,left 折叠 width,height 淡入淡出 opacity 时间有关系 setInterval setTimeout 用javascript直接获取行间样式很容易,但如果要获取非行间样式那我们只能借助函数了.我这里编写了一个名为getStyle的函数,专门处理取非行间的