為什么寫(xiě)了這句之后,在我的瀏覽器里就不運(yùn)動(dòng)了oDiv1.style.width=parseInt(oDiv1.style.width)-1+'px';
<html>
<head>
<title>任意屬性值</title>
<meta charset="utf-8">
<style type="text/css">
#div1{
width:200px;
height:200px;
background:red;
border:4px solid #000;
}
</style>
<script type="text/javascript">
window.onload=function(){
startMove();
}
function startMove(){
setInterval(function(){
? var oDiv1=document.getElementById('div1');
//oDiv1.style.width=oDiv1.offsetWidth-5+'px';
oDiv1.style.width=parseInt(oDiv1.style.width)-1+'px';?
},30)
}
</script>
</head>
<body>
<div id="div1"></div>
</body>
</html>
2016-12-08
獲取元素寬的時(shí)候不能直接用style.width去獲??;要用offsetWidth;
oDiv1.style.width=parseInt(oDiv1.style.width)-1+'px';?
你把這句改成oDiv1.style.width=parseInt(oDiv1.offsetWidth)-1+'px'; 就會(huì)動(dòng)了。
2016-12-10
雖然已經(jīng)有人指出前面兩個(gè)答案中的錯(cuò)誤,我覺(jué)得還是說(shuō)的更詳細(xì)一點(diǎn),免得有人被誤導(dǎo)。ob.style.attr的寫(xiě)法是沒(méi)有任何錯(cuò)誤的,這種寫(xiě)法放在賦值號(hào)"="的左邊時(shí)是為這個(gè)屬性賦值,放在右邊是獲取這個(gè)屬性的值,但是這種方式只能獲取行內(nèi)樣式,也就是寫(xiě)在標(biāo)簽中的樣式。題主的問(wèn)題應(yīng)該是模仿了老師的js代碼但是沒(méi)有給div添加行內(nèi)樣式style="width:200px",所以無(wú)法獲取指定屬性,js語(yǔ)句不執(zhí)行。另外獲取非行內(nèi)樣式的css屬性值的方法,如上面的同學(xué)說(shuō)的,obj.currentStyle[attr]//兼容IE getComputedStyle(obj.false)[attr]//兼容其他主流瀏覽器,其中的false是沒(méi)有偽類(lèi),目前階段不用關(guān)注這個(gè),如感興趣可自行搜索
2016-12-08
就沒(méi)有這種寫(xiě)法,這句代碼本身就是錯(cuò)誤的,建議你好好吧js基礎(chǔ)部分好好學(xué)一學(xué)再來(lái)。以下內(nèi)容僅供參考:
標(biāo)簽元素的寬高值獲取
//絕對(duì)寬度
Obj.offsetWidth
//絕對(duì)高度
Obj.offsetHeight
以下是獲取窗口對(duì)象的寬高值。
clientHeight?? 獲取對(duì)象的高度,不計(jì)算任何邊距、邊框、滾動(dòng)條,但包括該對(duì)象的補(bǔ)白。
clientLeft?? 獲取?? offsetLeft?? 屬性和客戶(hù)區(qū)域的實(shí)際左邊之間的距離。
clientTop?? 獲取?? offsetTop?? 屬性和客戶(hù)區(qū)域的實(shí)際頂端之間的距離。
clientWidth?? 獲取對(duì)象的寬度,不計(jì)算任何邊距、邊框、滾動(dòng)條,但包括該對(duì)象的補(bǔ)白。
clientX?? 設(shè)置或獲取鼠標(biāo)指針位置相對(duì)于窗口客戶(hù)區(qū)域的?? x?? 坐標(biāo),其中客戶(hù)區(qū)域不包括窗口自身的控件和滾動(dòng)條。?
clientY?? 設(shè)置或獲取鼠標(biāo)指針位置相對(duì)于窗口客戶(hù)區(qū)域的?? y?? 坐標(biāo),其中客戶(hù)區(qū)域不包括窗口自身的控件和滾動(dòng)條。
clip?? 設(shè)置或獲取定位對(duì)象的哪個(gè)部分可見(jiàn)。
clipBottom?? 獲取對(duì)象剪裁區(qū)域的底邊坐標(biāo)。
clipLeft?? 獲取對(duì)象剪裁區(qū)域的左邊坐標(biāo)。
clipRight?? 獲取對(duì)象剪裁區(qū)域的右邊坐標(biāo)。
clipTop?? 獲取對(duì)象剪裁區(qū)域的頂邊坐標(biāo)。