-
getstyle查看全部
-
运动框架实现思路查看全部
-
链式运动 为第一个运动的函数添加一个函数作为参数,在第一个运动结束的时候调用查看全部
-
使用offsetWidth和offsetHeight时考虑边框问题 function getStyle(obj,attr) { if(obj.currentStyle) {return obj.currentStyle[attr]} else {return getComputedStyle(obj,false)[attr];} }查看全部
-
//封装获取属性的函数 function getStyle(obj,attr){ if(obj.currentStyle){ return obj.currentStyle[attr];//IE }else{ return getComputedStyle(obj,false)[attr];//火狐 } }查看全部
-
js通过style只能获取内联样式查看全部
-
function getStyle(obj, attr){ if(obj.currentStyle){ return obj.currentStyle[attr]; } else{ return getComputeStyle(obj,false)[attr]; } }查看全部
-
【多个物体的宽度变化】 var aLi = document.getElementsByTagName("li"); for(var i=0; i<aLi.length; i++){ aLi[i].onmouseover = function(){ startMove(this,400); } aLi[i].onmouseout = function(){ startMove(this,200); } } var timer = null; function startMove(obj,iTarget){ clearInterval(timer); timer = setInterval(function(){ var speed = (iTarget-obj.offsetWidth)/8; speed = speed>0 ? Math.ceil(speed) :Math.floor(speed); if(obj.offsetWidth == iTarget){ clearInterval(timer); }else{ obj.style.width = obj.offsetWidth + speed + "px"; } },30) } 【bug】如果鼠标移动得够快,会出现3个矩形同时变宽。 原因:虽然每次一上来就clearInterval(timer),但是这个定时器是公用的,所以3个li同时在争着使用定时器 解决方法:给每一个li定义一个timer aLi[i].timer = null; 然后把需要timer的地方全部改成obj.timer查看全部
-
var speed = (iTarget-oDiv.offsetLeft)/10; //如果速度是正的 则向上取整。速度是负的向下取整 speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);查看全部
-
原因:因为有除法,当offsetLeft值变的越来越小时,最后相除会使speed变成小数,从而offsetLeft与speed相加会有小数,又因显示器的最小像素单位是1px,所以浏览器默认向下取整(变小,即floor),将小数省略,小数省略后,最终的值会变小,从而导致程序无法进入if判断,进入死循环。 这一点可以用console.log(speed)可以验证,speed的log会一直输出,因为程序死循环了。 所以,需要ceil or floor来解决这个问题,让程序进入if的判断,终止循环查看全部
-
json: var json={a:1,b:2}; for(var i in json){ alert(i);//第一次弹a,第二次弹b; alert(json[i]);//第一次弹1,第二次弹2; }查看全部
-
function starMove(iTarget){ clearInterval(timer); //清除计时器 var oDiv = document.getElementById("div1"); timer = setInterval(function(){ var speed = 0; //清除速度 if(oDiv.offsetLife > iTarget){ speed = -10; }else{ speed = 10; } if(oDiv.offsetLeft == iTarget){ clearInterval(timer);//当面板移动到目标位置时结束计时器 }else{ oDiv.style.left = oDiv.offsetLeft+speed+"px"; } },30) }查看全部
-
获取样式的封装函数getStyle()可以解决加边框后,offsetWidth运动时的一些bug查看全部
-
获取样式: function getStyle(obj,attr){ if(obj.currentStyle){//ie return obj.currentStyle[attr]; }else{//ff return getComputedStyle(obj,false)[attr]; } }查看全部
-
所有浏览器都支持 opacity 属性。 注释:IE8 以及更早的版本支持替代的 filter 属性。例如:filter:Alpha(opacity=50)。查看全部
举报
0/150
提交
取消