5-2编程练习中的clearInterval和offsetWidth问题


<script>

window.onload=function(){

    var aA=document.getElementsByTagName('a');

for(var i=0; i<aA.length; i++){

aA[i].onmouseover=function(){

var This=this;

clearInterval(This.time);

//为什么此处调用clearInterval的作用是防止动作累加 删除该行代码后 在页面没看到有什么不同啊

This.time=setInterval(function(){

This.style.width=This.offsetWidth+8+"px";

if(This.offsetWidth>=160)

//offsetWidth和width的区别是什么呢,如果此处改为time.width导航栏将会无限延伸 why?

clearInterval(This.time);

},30)

}

求大神指点 谢谢


青旗拉
浏览 1242回答 2
2回答

zhangyudemuke

clearInterval是用来删除定时器offsetWidth代表块状元素的边框+内填充+内容的总和

qq_Pal_0

1 把clearInterval删了之后,你把鼠标在a标签上来回移动几次就知道了2 offsetWidth计算的是content+border+padding的总和。style.width只算了content。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript