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

為了賬號安全,請及時綁定郵箱和手機立即綁定

這里為什么要用parseInt?currentStyle和getComputedStyle返回什么?

window.onload = functon(){

????startMove();

}


function startMove(){

????setInterval(function(){

????var oDiv = document.getElementById('div1');

????oDiv.style.width = parseInt(getStyle(oDiv,'width')) - 1 + 'px';


},30);

}


function getStyle(obj,attr){

????if(obj.currentStyle){

????????return obj.currentStyle[attr];

????}else{?

????????return obj.getComputedStyle(obj,false)[attr];?

????}

}


正在回答

5 回答

http://img1.sycdn.imooc.com//59f992280001e98706380085.jpg

為了去掉單位,方便計算。

1 回復 有任何疑惑可以回復我~

這里用parseInt是為了去掉px,方便計算用的。比如用getStyle函數獲取到元素寬為100px。那么parseInt(100px)=100,從而方便計算,你不可能用100px-1吧。

currentStyle和getComputedStyle返回的就是目標元素的屬性值,attr這個形參就是屬性的意思


0 回復 有任何疑惑可以回復我~

。。明明是去掉px的好嗎。。。返回像素的是什么鬼?

1 回復 有任何疑惑可以回復我~

返回的是當前obj的像素值,也就是整數類型

0 回復 有任何疑惑可以回復我~
#1

virusos 提問者

已經是整數那為什么還要用parseInt呢?
2017-04-16 回復 有任何疑惑可以回復我~
#2

慕粉1515593040 回復 virusos 提問者

這個我寫錯了 返回的是數組元素 用parseInt來轉換為整數
2017-04-20 回復 有任何疑惑可以回復我~

parseInt是為了獲取整數 ? 一般網頁的高和寬都是整數 ?沒有小數的?

currentStyle ?和ComputedStyle 是用來判斷你用的是哪個瀏覽器

IE的話就是用currentStyle返回obj所對應的sttr的值,根據你的代碼 ,也就是返回在IE瀏覽器上oDiv的width的值

如果是firefox瀏覽器則用ComputedStyle來返回值,與IE同理, return getComputedStyle(obj,false)[attr]前沒有obj.


0 回復 有任何疑惑可以回復我~
#1

virusos 提問者

就是說currentStyle、ComputedStyle返回的是double類型?還是什么……?
2017-04-16 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

這里為什么要用parseInt?currentStyle和getComputedStyle返回什么?

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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