微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Bootstrap中的CSS转换中的JavaScript – “强制回流”

从Twitter的引导中修改bootstrap-modal jquery插件,我看到他们使用CSS转换来进行衰落效果

代码中吸引我的一件事是这一行:

that.$element[0].offsetWidth // force reflow

如果该行被注释,则转换不起作用。
我发现关于它的意思的所有参考是“强制回流”评论

如何阅读该属性可以影响CSS转换?这是为了解决浏览器中的错误吗?

解决方法

稍后回复的位置,但是我正在解决CSS转换中的一些问题,我认为与您发现的这一段代码有关,希望可以帮助您理解它!

基本上,我从JavaScript / jQuery中切换一个类,将css转换添加到dom元素。然后更新该元素的CSS,导致转换发生。代码的简化版本如下:

var myelement = $("myselector");

// Set z-indexes before the transition
myelement.css("z-index",1); 

var reflow = root.offset().left; // Re-flow the page

// Set the transition class on the element which will animate
myelement.addClass("trans");
myelement.css("width",0 + "px"); // Animate to nothing

所以如果我取消对我的重新流动线的注释,我的转换将会发生,但是有时候(在Safari Safari中似乎更经常),不会更新myelement的z-index。

对我来说,似乎在某些情况下,写入dom的样式在某处被缓存,而不是被刷新。

这是对左偏移量的调用的地方。这是属于被称为在页面中引起重新流动的属性之一。这显然通常是性能明智的坏事,但似乎有必要防止css转换错误的值。

一个有趣的Mozilla bug讨论同一主题。可能有兴趣他们建议添加一个API以正确地从代码开始转换。

这也是interesting SO post强制重新流动。

希望这可以帮助!

原文地址:https://www.jb51.cc/bootstrap/234214.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐