嗯,今天好冷,特别冷,我的手指,都冻的打不了字了。今天一件特别的傻的事就是,在 for(var i;i<obj.length;i++){}
找了半天没有注意到 var i 没有赋值。够150 了吧。
直接上货吧!!!
哎,还没有够150 ,那就再搞一个吧,当与彩蛋。
用一个方法直接获取样式值
function getStyle(obj,attr){/*obj对象,就是你要搞哪个元素,attr属性,你要搞哪个的属性*/
if(obj.currentStyle){
return obj.currentStyle[attr];/*.currentStyle针对IE*/
}
else{
return getComputedStyle(obj,flase)[attr];/* getComputedStyle针对firebox浏览器*/
}
}
多物体变速(匀速)运动
<script>
window.onload=function(){
var ind = document.getElementsByTagName("li");
for(var i=0;i<ind.length;i++){/*取到多个物体*/
ind[i].timer=null;/*当遇到多个对象时,最好不用全局变量,可能会发生争夺现象*/
ind[i].onmouseover = function(){
onMove(this,400,10); /*这里控制,对象,目标值,速度*/
}
ind[i].onmouseout = function(){
onMove(this,200,-10);
}
}
}
function onMove(obj,mu,speed){
clearInterval(obj.timer);
obj.timer=setInterval(function(){
speed=(mu-obj.offsetWidth)/8;
speed=speed>0?Math.ceil(speed):Math.floor(speed);
/*变速在这里,两行,删除直接是 匀速*/
if(obj.offsetWidth == mu)
{
clearInterval(obj.timer);
}
else{
obj.style.width=obj.offsetWidth+speed+"px";
}
},30)
}
</script>
多物体透明度运动
<script>
window.onload=function(){
var opp = document.getElementsByClassName("page");
for(var i=0;i<opp.length;i++){
opp[i].timer=null;
opp[i].a=30; /*透明度,没有直接获取当前透明度的方法,所以自生成*/
opp[i].onmouseover = function(){
onStart(this,100,5);/*这里控制对象,目标值,速度*/
}
opp[i].onmouseout = function(){
onStart(this,30,-5);
}
}
}
function onStart(obj,mu,speed){
clearInterval(obj.timer);
obj.timer=setInterval(function(){
if(obj.a == mu){
clearInterval(obj.timer);
}
else{
obj.a+=speed;
obj.style.opacity=(obj.a)/100;
}
},10)