编程语言
首页 > 编程语言> > javascript – 在Backbone.View中获取模板的CSS属性

javascript – 在Backbone.View中获取模板的CSS属性

作者:互联网

是否有可能获得渲染模板计算的CSS值而不将其附加到DOM?

我对Backbone.View $el CSS值和一种预先计算它的属性(如宽度和高度)而不将它们附加到DOM感兴趣.

如果那不可能,

计算渲染模板的目标值的最佳方法是什么,以便它们可以与jQuery.animate一起使用?

例如淡入/淡出功能,它将成为View扩展方法的一部分

解决方法:

我认为除了执行插入隐藏元素,进行测量,然后删除它的艰巨任务之外,最好的选择是使用:

window.getComputedStyle 

Documentation(https://developer.mozilla.org/en-US/docs/DOM/window.getComputedStyle)

然后在视图中设置方法,如下所示:

fadeIn : function (event) {
    var rootElement = this.$el.get(0);
    var cssStyles = window.getComputedStyle(rootElement, null);
    var rootElementHeight = cssStyles.getPropertyValue("height");
    var rootElementWidth = cssStyles.getPropertyValue("width");

    // perform fadeIn animation     
},

fadeOut : function (event) {
    var rootElement = this.$el.get(0);
    var cssStyles = window.getComputedStyle(rootElement, null);
    var rootElementHeight = cssStyles.getPropertyValue("height");
    var rootElementWidth = cssStyles.getPropertyValue("width");

    // perform fadeOut animation     
},

它并不理想,返回的高度和宽度只是应用于该元素的最终CSS规则的表示.因此,当元素实际呈现在页面上时,实际高度和宽度完全有可能发生变化.

希望这可以帮助!

标签:javascript,backbone-js,backbone-views
来源: https://codeday.me/bug/20190703/1371153.html