>  기사  >  웹 프론트엔드  >  border attribute_javascript 기술로 인해 발생하는 div 너비 문제를 js를 사용하여 해결하세요.

border attribute_javascript 기술로 인해 발생하는 div 너비 문제를 js를 사용하여 해결하세요.

WBOY
WBOY원래의
2016-05-16 17:12:221201검색

루틴을 살펴보겠습니다

코드 복사 코드는 다음과 같습니다.

< script type= "text/javascript">
var 타이머
function stopMove(){
clearInterval(timer)
}
function startMove(){
var div=document. getElementById(' ok')
clearInterval(timer)
timer=setInterval(function(){
ok.style.width=ok.offsetWidth-1 'px' ;//이론적으로 너비는 다음과 같아야 합니다. 지속적으로 감소하지만 실제 증가는 스타일 시트의 테두리 속성으로 인해 발생하며 이를 제거하면 해결할 수 있습니다.
},20)
}


>



댓글 주의하세요. 실제로 ok.style.width는 div의 너비를 지정하고 offsetwidth는 테두리 너비를 포함한 실제 너비를 참조하기 때문에 테두리 때문에 발생합니다. 따라서 오른쪽의 수식으로 얻은 너비 값은 실제로 왼쪽의 너비보다 1픽셀 더 큽니다. 실제로 1픽셀을 빼는 목적을 달성하려면 매번 3픽셀을 빼야 합니다. 또는 오른쪽에parseInt(div.style.width)를 사용하되 다음과 같이 div를 수정합니다.




궁극적인 해결 방법: 현재 스타일 사용 또는 getcomputedstyle을 사용하여 속성을 가져옵니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.