亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

詭異的效果,為什么不是一直增加,而是每次增加一小段

詭異的效果,為什么不是一直增加,而是每次增加一小段

琢匠 2016-01-16 09:58:19
<!DOCTYPE html><html><head> <title></title> <style type="text/css">*{ margin: 0;padding: 0;}ui,li{}ul li{ width: 200px; height: 100px; background-color: #ff0; margin: 20px; list-style-type: none; border: 4px solid #000;} </style> <script type="text/javascript">window.onload = function(){ var aLi = document.getElementsByTagName('li'); for (var i = 0; i < aLi.length; i++) { aLi[i].timer = null; aLi[i].onmouseover = function(){ startMove(this,400); } aLi[i].onmouseout = function(){ startMove(this,200); } }; }function getStyle(obj,attr){ if (obj.currentStyle) { return obj.currentStyle[attr]; } else{ return getComputedStyle(obj,false)[attr]; };}function startMove(obj,iTarget){ clearInterval(obj.timer); var icur = parseInt(getStyle(obj,'width')); obj.timer = setInterval(function(){ var speed = (iTarget-icur)/8; speed = speed>0 ? Math.ceil(speed) : Math.floor(speed); if (icur == iTarget) { clearInterval(obj.timer); }else{ obj.style['width'] = icur + speed +"px"; } },30)}</script></head><body><ul> <li></li> <li></li> <li></li> <li></li></ul></body></html>
查看完整描述

1 回答

?
琢匠

TA貢獻3條經驗 獲得超2個贊

查看其它人的代碼,終于找出問題在哪了,var icur = parseInt(getStyle(obj,'width'));(語句1)這句應該包含在obj.timer = setInterval(function(){}(語句2)內,原因分析了一下,應該是當語句1在外面時,icur值固定,變化一次后,speed值為零,width不在變化


查看完整回答
反對 回復 2016-01-16
  • 1 回答
  • 0 關注
  • 1379 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號