我正在开发一个视图中有实时视频的应用程序,我需要在JavaScript代码中设置CSS部分。
请不要在CSS中使用任何类型的解决方案。
我正在做这样的事情
var playerMsgs = document.getElementById('player-msgs');
if (windowHeight >= 750 && windowHeight <= 800) {
playerMsgs.style.height = '40%';
} else if (windowHeight >= 801 && windowWidth >= 850) {
playerMsgs.style.height = '45%';
} ... // and son
我感觉不舒服,因为我想我可以做一个正确的代码,以便以编程方式执行,正如您所看到的,每50px
百分比变化5%,我的应用程序支持的次要高度是750px
,因此从750px
开始,您在代码中看到的百分比是40%。
如果窗口大小的高度为750px
,则高度应为40%
,并且在下一个50px
之前的百分比相同,因此应显示750px && 800px
height
} 40%
,如果现在的高度为801px
,那么新的height
应该设置为45%
,依此类推......那么,最好的方法是什么?那个?
TLDR
每50px增加5%的高度。
答案 0 :(得分:3)
可能需要预先进行一些验证,但基本上,公式可能是:
var newHeight = (Math.floor((windowHeight - 750) / 50) * 5 + 40) + '%';
playerMsgs.style.height = newHeight;
答案 1 :(得分:1)
数学是你的朋友:
var hdiff = windowHeight - 750;
if (hdiff >= 0)
{
var pct = Math.floor((hdiff / 10) + 40);
playerMsgs.style.height = pct + "%";
}
答案 2 :(得分:1)
您可以通过数学运算轻松完成。
var difference = WindowHeight - 750;
var extra = Math.floor(difference/50)
var percent = 40 + extra*5;