CSS和Javascript之间的顺序是什么
What is the sequencing between CSS and Javascript
我有一个奇怪的间歇性错误,它发生在填充嵌入到滑动器中的列表之后。从本质上讲,我得到了列表的最后一个元素在页脚上的溢出。
奇怪的是,它出现在我插入最后一个淋巴结后的一段时间内,事实上是在我调用了刷血肾素激活剂之后。
如果我触发了一个调整大小事件,它会自行修复——但前提是我在调用滑动器重新初始化后等待500毫秒到2秒。
为了让这一切变得非常有趣,重叠的数量一直在变化。
这让我想知道,我看到的是不是javascript填充列表并调用swipper reinit,然后在firefox和chrome内部的某个地方应用了所有的样式,这导致了溢出。
我真的不想使用与计时器相关的触发器,因为用户的CPU速度不同。我不想用一个持续尝试直到它发生——因为有时它根本不会发生。
不管怎么说,有人有60秒的关于CSS何时应用于javascript的讲座吗?是否会有什么事件告诉它已经完成,这样我就可以在调整大小后检查div了?
通过CSS样式表应用CSS样式时没有延迟。样式在重新绘制或重新发布之前应用。无需等待CSS样式表规则的应用,除非您正在动态加载样式表或将其放在受其影响的HTML之后。
我的猜测是,在更改的内容被正确布局之前,刷程序重新初始化程序中的某个东西正在做一些事情。延迟允许布局发生,所以下次调整大小时,它会自行修复。
在看不到真正发生了什么(可能是在一个工作网页中),也不了解更多关于刷码的信息的情况下,我们所能做的就是猜测。我的猜测是,布局必须在修改列表之后和重新初始化之前进行。有几种方法可以通过请求浏览器知道在布局发生之前不准确的某些属性来强制布局。在调用fn
回调之前,等待用setTimeout(fn, 1)
重新绘制也会触发任何挂起的布局,并且setTimeout()
中的任何时间值都会起作用,因为只需等待setTimeout()
激发就可以进行重新绘制。
您可以在本文中看到如何触发布局(请求任何这些属性offsetTop, offsetLeft, offsetWidth, offsetHeight, scrollTop/Left/Width/Height, clientTop/Left/Width/Height
)。
- 淘汰js可观察扩展的执行顺序是什么
- CSS和Javascript之间的顺序是什么
- “goog.require”的包含顺序是什么
- Javascript中模数的优先顺序是什么?
- Javascript中布尔逻辑的顺序是什么
- 突变观察者收到的突变记录的顺序是什么?
- if 和 else 语句处理的顺序是什么
- 承诺回调的触发顺序是什么
- dojo.query() 的顺序是什么?
- 加载 AngularJS 文件的正确顺序是什么
- html中python代码和javascript代码的执行顺序是什么
- angularjs组件的执行顺序是什么
- “0”的执行顺序是什么;开关箱”;在节点js中
- 多个指令的执行顺序是什么
- jQuery find-返回元素的顺序是什么
- Javascript中函数参数的求值顺序是什么?
- php-js的执行顺序是什么?
- 包含jquery文件的正确顺序是什么?
- 链接javascript函数.执行的顺序是什么?
- JS中布尔运算符的优先顺序是什么?