国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

使用js解決由border屬性引起的div寬度問題

2019-11-20 21:35:03
字體:
來源:轉載
供稿:網友
下面我們來看一個例程
復制代碼 代碼如下:

<script type="text/javascript">
var timer
function stopMove(){
clearInterval(timer)
}
function startMove(){
var div=document.getElementById('ok')
clearInterval(timer)
timer=setInterval(function(){
ok.style.width=ok.offsetWidth-1+'px' ;//理論上應該是寬度不斷減少,但是實際卻增長,原因在樣式表中的border屬性,去掉即可解決
},20)
}
</script>
<style type="text/css">
* {margin: 0;padding:0}
body {font-size: 14px;line-height: 24px;margin: 0px;padding: 0px;}
#ok{width:800px;height: 200px;background-color:darkgreen;border: 1px red solid; }
</style>
</head>
<body>
<div id="ok"></div>

注意看注釋,為什么會出現這個現象呢?其實就是由于border引起的,由于ok.style.width指定的是div的寬度,而offsetwidth指的是實際的寬度,包括border寬度。所以這個右邊的式子得到的寬度值其實比左邊大一個像素,解決辦法,每次減去3個像素就可以達到實際減去一個像素的目的。或者用右邊也用parseInt(div.style.width),但要修改div如下:
復制代碼 代碼如下:

<div id="ok" style="width:200px:></div>

終極方案:用currentstyle或getcomputedstyle來獲取屬性。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 施秉县| 始兴县| 泾阳县| 木兰县| 英德市| 崇左市| 东山县| 方山县| 庆云县| 巴南区| 临夏县| 怀柔区| 比如县| 丹巴县| 内乡县| 柳河县| 土默特左旗| 许昌市| 酉阳| 三亚市| 正镶白旗| 格尔木市| 宁海县| 耒阳市| 太仓市| 沙洋县| 赤水市| 陆良县| 云安县| 桓台县| 南宁市| 许昌县| 永清县| 安平县| 天峨县| 两当县| 丹棱县| 滕州市| 大姚县| 古交市| 高安市|