随笔 - 547  文章 - 213 评论 - 417 阅读 - 107万

 

在一个div的事件改变div.InnerHTML会报错,但是InnserHTML还是被改变了,可能div只是抗议一下,但是讨厌的是这个错误无法屏蔽,所以这样的程序是不能给用户看的。

解决方法就是不要在div的事件中改变它的InnerHTML,我的解决方法就是用一个透明层盖住要改变InnertHtml的层。设置起来挺麻烦的,不过那个讨厌的错误提示再也不出现了。

在设置透明覆盖层的时候,用的语句是这样的:

     Div1Cover.style.width = Div1.clientWidth;

     Div1Cover.style.height = Div1.clientHeight;

其中Div1是要设置InnerHTML的层,Div1Cover是透明的覆盖在Div1上面的层。

这种方法在页面加载的时候调用没有问题,但是在页面不回传的情况下调用会有问题:

例如:

点击div弹出一个模态窗口,模态窗口关闭的时候设置divinnerHTML,当设置的innerHTML很长的时候,滚动条就会出现,在设置完div.innnerHTML以后马上调用设置上面的两条javascript语句,结果发现滚动条也被覆盖上了,分析了一下原因,可能是因为在那两条javascript执行的时候,设置div.innerHTML的语句尚未执行完成,所以滚动条还没出现,等滚动条出现的时候,divCover的宽度和高度已经设置完成。

 

解决方法:

在执行设置div.innerHTMLjs语句后面,用setTimeOut( 那两条语句 , 200 ) 这样的语句来调用上面两条语句,我设置的延迟是200ms,到现在为止还没有发现什么问题。

posted on   今夜太冷  阅读(1928)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示