封装获取元素样式
function getStyle(ele,style){
try{
return window.getComputedStyle(ele)[style];
} catch(error){
return ele.currentStyle[style];
}
}
- window.getComputedStyle(ele,参数)[style]
高版本ie浏览器,和谷歌等主流浏览器能使用
1.参数默认为null,当不写参数时,可以获取到除了伪类的所有样式,是一个实时的对象,当元素的样式更改时,它会自动更新本身。
ele.style只能获取到元素的行内样式,并不能获取到元素的内部和外部样式
2。与伪类的使用
window.getCOmputedStyle(ele,'after')[样式名]
- ele.currentStyle[style]
可以兼容ie8以下的浏览器
封装一个简单的运动函数
function move(ele,dir,target){
let timer;
let curStyle = parseInt(getStyle(ele,attr));
timer = setInterval(()=>{
curStyle += 2;
if(curStyle>=target){
curStyle = target;
clearInterval(timer);
}
ele.style[attr] = curStyle + 'px';
},1);
}