-
div{filter:alpha(opacity=50);} /* for IE8 and earlier */ div{opacity:.5;} /* for IE9 and other browsers */查看全部
-
HTML文件源码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>多个物体运动</title> <style> body,ul,li,div{ margin:0; padding:0; } ul li{ margin-top:20px; width: 200px; height:100px; list-style:none; background-color: yellow; cursor:pointer; border:4px solid #000; filter:alpha(opacity: 30); opacity:0.3; } </style> <script src="move.js"></script> <script> window.onload=function(){ var Li=document.getElementById('li1'); Li.onmouseover=function(){ startMove(Li,'width',400,function(){ startMove(Li,'height',200,function(){ startMove(Li,'opacity',100); }); }); } Li.onmouseout=function(){ startMove(Li,'opacity',30,function(){ startMove(Li,'height',100,function(){ startMove(Li,'width',200); }); }); } } </script> </head> <body> <ul> <li id="li1"></li> <!-- <li></li> <li></li> --> </ul> </body> </html>查看全部
-
动画方法框架查看全部
-
offsetleft, offsetright. offsetwidth, offsetheight对象属性可以获取当前CSS定义的数值查看全部
-
JS的变量值引用到CSS属性查看全部
-
让对象变透明之后,就可以做很多“瞒天过海”的事情了。不错不错! JS还有很多魔术可以玩。不怕做不到,就怕想不到! 多玩才能锻炼得更巧妙!查看全部
-
在使用定时器控制行为的时候,每次调用时应该先清除定时器,防止定时器事件累加查看全部
-
运动框架思路。 1.改变的是什么 速度(改变值left right width height opacity) 2.什么样的运动,变速的运动-》缓冲运动 3.多物体运动 4.任意值的变化 5.多物体不同时运动,一环扣一环-》链式运动 6.多物体同时运动查看全部
-
因为startMove()是函数,而不是DOM的方法, 除非你在那个startMove的js代码块的头部加上 Object.prototype.startMove=startMove; 然后你才能写: Li1.onmouseout = function(){this.startMove(this,'opacity',30)} 当然,要是这样的话,也不用传入obj了,直接把startMove()函数块里面的obj统统换成this,去掉函数定义里面的这个残烛,函数就写成这样了: 定义 function startMove(attr,iTarget,fn){…} 调用 Li1.onmouseout = function(){this.startMove('opacity',30)} 你看,跟jquery是一模一样吧。 jquery的$()本身就是一个函数对象,它早就给$()这个函数对象添加过animate()方法了。查看全部
-
obj.style[attr]是去取obj的样式中的某个属性,attr是变量。可以是height,可以是width。 obj.style.attr是去取obj的样式中的attr属性,而实际上这个属性是不存在的,所以不行。查看全部
-
怎么获取一个动态变化的速度值,每次都用目标减去当前值再获取一个百分比即可,运用了数学的知识。宽高的像素单位没有小数点,可以利用js的原生函数获取向上取整ceil或者向下取整floor查看全部
-
getStyle 函数用来获取样式查看全部
-
function getStyle(obj,style){//引用时style要带引号 if(obj.currentStyle){ return obj.currentStyle[style]; }else{ return getComputedStyle(obj,null)[style]; }查看全部
-
涉及运动的数字一定要取整查看全部
-
在解释宽度不变只高度变时,两个startmove函数,老师为什么说第一个没执行完时会执行第二个? 经过我的测试,可以这样理解,在执行第一个startmove中定时器里面的函数的时候是在设定的30ms后才会执行第一次定时器里面的函数,但之后的程序仍然会继续执行,所以这时就会继续执行下一个startmove函数,而下一个startmove的第一步就是clearinterval,所以你会发现,第一个startmove的定时器中的函数其实根本就没有执行,宽度根本一次都没变,第一个startmove中的定时器在还没有等到30ms开始执行的时候就已经被clearinterval了,所以你会感觉是第一个没执行完就开始执行下一个了查看全部
举报
0/150
提交
取消