小羊也疯狂 2017-03-27 06:26 采纳率: 100%
浏览 803
已采纳

关于导航栏变宽的j s代码问题

鼠标悬浮导航栏变宽图片说明图片说明
第一个无法正常运行 ,第二个将this换成This就能运行了
1 为什么会出现这种情况
2。This.style.width = This.offsetWidth + 8 + "px";
换成This.offsetWidth = This.offsetWidth + 8 ;为什么无法运行(.tyle.width和offsetWidth区别)

  • 写回答

3条回答 默认 最新

  • 斯洛文尼亚旅游 2017-03-27 07:26
    关注

    setInterval执行的函数this指向window,已经脱离onmouseover事件,所以不是dom对象,你用That存储this相当于做了个闭包

    offsetXXXX是位置,只读的,无法设置。style不用说了吧,专门就是修改元素样式用的

    https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetLeft

     The HTMLElement.offsetLeft read-only property returns the number of pixels that the upper left corner of the current element is offset to the left within the HTMLElement.offsetParent node.
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?