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

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

為什么不能寫成obj.currentStyle[attr] || getComputedStyle(obj, false)[attr];

為什么不能寫成obj.currentStyle[attr] || getComputedStyle(obj, false)[attr];

慕田峪8701529 2017-08-23 22:25:00
window.onload=function(){ ? ?var aDiv=document.getElementsByTagName('div');? ? ? aDiv[2].onclick=function(){ ? ? ? ?startMove(this,"opacity",100) ? ?}}function startMove(obj, attr, iTarget){ ? ?clearInterval(obj.timer); ? ?obj.timer=setInterval(function (){ ? ? ? var iCur=0; ? ? ? ?var t=obj.currentStyle[attr]||getComputedStyle(obj, false)[attr]; ? ? ? ?if(attr=="opacity"){ ? ? ? ? ? ?iCur=parseInt(parseFloat(t)*100) ? ? ? ?} ? ? ? ?else{ ? ? ? ? ? ?iCur=parseInt(t); ? ? ? ?} ? ? ? ?var iSpeed=(iTarget-iCur)/8; ? ? ? ?iSpeed=iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed); ? ? ? ?if(iCur==iTarget) ? ? ? ?{ ? ? ? ? ? ?clearInterval(obj.timer); ? ? ? ?} ? ? ? ?else ? ? ? ?{ ? ? ? ? ? ?if(attr=="opacity"){ ? ? ? ? ? ? ? ?obj.style.filter="alpha(opacity:"+(iCur+iSpeed)+")"; ? ? ? ? ? ? ? ?obj.style[attr]=(iCur+iSpeed)/100; ? ? ? ? ? ?} ? ? ? ? ? ?else{ ? ? ? ? ? ? ? ?obj.style[attr]=iCur+iSpeed+'px'; ? ? ? ? ? ?} ? ? ? ?} ? ?}, 30)}
查看完整描述

1 回答

?
橋本奈奈未

TA貢獻436條經驗 獲得超108個贊

currentStyle[attr] 獲取屬性值的寫法應該沒問題,但是currentStyle是非標準的,是IE瀏覽器的API,其實現代瀏覽器已經可以不用考慮這種情況了,

標準方法是通過getComputedStyle獲取CSSStyleDeclaration 對象,

然后通過CSSStyleDeclaration.getPropertyValue(attr)方法獲取屬性值

查看完整回答
反對 回復 2017-08-24
  • 慕田峪8701529
    慕田峪8701529
    這個我明白,但是我用“或”的寫法,為什么行不通呢。
  • 橋本奈奈未
    橋本奈奈未
    你getComputedStyle沒有調用getPropertyValue方法獲取屬性值
  • 1 回答
  • 0 關注
  • 1665 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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