标签:javascript backbone-js backbone-views
是否有可能获得渲染模板计算的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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。