Javascript 如何根据另一个元素的宽度设置元素的宽度?
我试图找出如何使元素的宽度动态 我有一个宽度为350px的侧栏,当一个全*宽度模式出现时,侧栏应该仍然可见 这就是modal的功能:Javascript 如何根据另一个元素的宽度设置元素的宽度?,javascript,css,reactjs,ecmascript-6,Javascript,Css,Reactjs,Ecmascript 6,我试图找出如何使元素的宽度动态 我有一个宽度为350px的侧栏,当一个全*宽度模式出现时,侧栏应该仍然可见 这就是modal的功能: position: fixed; top: 0; right: 0; z-index: 1050; width: 73%; height: 100%; outline: 0; 宽度设置73%它现在可以工作了,侧边栏总是可见的,但是如果侧边栏改变了宽度会发生什么呢 我在用React。我想这应该用JavaScr
position: fixed;
top: 0;
right: 0;
z-index: 1050;
width: 73%;
height: 100%;
outline: 0;
宽度设置73%代码>它现在可以工作了,侧边栏总是可见的,但是如果侧边栏改变了宽度会发生什么呢
我在用React。我想这应该用JavaScript来完成
我应该做些什么来实现我所需要的?您可以使用(仅css)如下:
其中350px
是侧边栏的宽度
如果侧边栏的宽度改变,您需要获得新的宽度,并用一个变量holdign替换350px
,指定新宽度的值。我觉得您可能只需要获得侧边栏的宽度,获得整个窗口的宽度,然后做一些简单的数学运算,计算出需要将模态的宽度设置为什么。但是,您还需要考虑窗口的大小调整。因此,它可能与此类似
setModalSize();
$('window').on('resize', function() {
setModalSize();
}
function setModalSize() {
var windowWidth = $('window').width(),
sidebarWidth = $('#sidebar').css('width');
$('#modal').css('width', (windowWidth - sidebarWidth));
}
有两种不同的方法可以拉伸元素的宽度。我已经将它们包含在这个快速代码示例中。侧边栏的宽度是如何变化的?它可以调整大小吗?是不是73%的宽度是侧边栏宽度的总和?如果边栏宽度发生变化,则边栏宽度将为新边栏宽度的73%。
setModalSize();
$('window').on('resize', function() {
setModalSize();
}
function setModalSize() {
var windowWidth = $('window').width(),
sidebarWidth = $('#sidebar').css('width');
$('#modal').css('width', (windowWidth - sidebarWidth));
}