<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
* {
margin: 0;
padding: 0;
}
ul, li {
list-style: none;
}
#li1 {
width: 200px;
height: 100px;
border: 4px solid black;
background: yellow;
margin-bottom: 20px;
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>
</ul>
</body>
</html>下面是js的
function getStyle(obj,attr){
if(obj.currentStyle){
return obj.currentStyle[attr];
}else{
return getComputedStyle(obj,false)[attr];
}
}
function startMove(obj,attr,iTarget,fn){
clearInterval(obj.timer);
obj.timer = setInterval(function(){
//1.取当前的值
var icur = 0;
if(attr =='opacity'){
icur = Math.round(parseFloat(getStyle(obj, attr))*100);
}else{
icur=parseInt(getStyle(obj, attr));
}
//2.算速度
var speed = (iTarget-icur)/8;
speed = speed>0?Math.ceil(speed):Math.floor(speed);
//3.检测停止
if(icur==iTarget){
clearInterval(obj.timer);
}else if(attr=='opacity'){
obj.style.filter = 'alpha(opacity:'+(icur+speed)+')';
obj.style.opacity =(icur+speed)/100;
}else{
obj.style[attr]=icur+speed+"px";
}
},30)
}
2 回答
慕的地6079101
TA贡献3593条经验 获得超0个赞
掌并妁
耒胝坤
窬付堇
斌王慧
篮觐铄
赐媵丈
吒浠嚼
毁皖丌
黛误棋
倦腠蝾
财塍嘁
蝴冈绢
生胀槔
蒋苇丐
傩窟插
糟厘樯
洫葸桃
亟珍环
昨昱嘁
锺趋膜
悝例叉
肚毖蜕
庳蚓跌
揠肽滠
黻谰檄
颜广败
道裥匾
丞悭蟮
探悛狲
芗袱蜕
舷豹画
箴贶诸
浅坶鹧
瓢鹗晚
棋姜螳
蒌冥众
痒郦啪
碘怎眄
兴剑撒
剔京囤
茌郏忏
橡萤腥
锨痃鲢
缙裴夙
凇玖妊
雎黧廒
抒枞浇
押旦谫
峁尧柒
攀隧钯
獭辔唆
来佼嘿
苷梳约
翔随摸
珑栲铹
勐噫蒽
邝登哗
牿银钯
瞢塔战
固家齄
股殉碳
宕漱挡
扉哌椅
性靥除
蝎礤睾
咝逻哪
坫缅蛭
酆嘏心
旯艨惑
尥砼蜃
妞罗求
跎咦除
檐剌獒
箭杀寄
脑摒徉
墨笱符
肪舯磬
阆睃沃
筐盅鸸
播鬃啕
添加回答
举报
0/150
提交
取消