Javascript 动态更新浮动左Div的宽度
我已经浏览了很多其他帖子,但都没有找到我想要的解决方案。许多解决方案都涉及到人们使用CSS的方法,比如固定左右两侧(这不值得浮动,也不浪费脑力),或者将单词以一定的数量向右包装(这也违背了我试图做的事情的目的) 我的问题是这样的: 我有3个分区:包装器、菜单和内容。包装器用于将背景应用于100%的页面,并创建额外的样式属性以供其他CSS继承。菜单用于我在JQuery中编码的菜单脚本,它在屏幕左侧占用400px的空间,并以100vh的速度向下下降。我可以将其更改为固定,但不会改变这个问题。无论如何,内容是页面的其余部分;比如说,其他80%的内容。我的菜单和内容都在左侧浮动,效果很好。但是,直到文本在屏幕末尾换行,div才会进入(在我的例子中消失)屏幕,不再可见 我的解决方案:Javascript 动态更新浮动左Div的宽度,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我已经浏览了很多其他帖子,但都没有找到我想要的解决方案。许多解决方案都涉及到人们使用CSS的方法,比如固定左右两侧(这不值得浮动,也不浪费脑力),或者将单词以一定的数量向右包装(这也违背了我试图做的事情的目的) 我的问题是这样的: 我有3个分区:包装器、菜单和内容。包装器用于将背景应用于100%的页面,并创建额外的样式属性以供其他CSS继承。菜单用于我在JQuery中编码的菜单脚本,它在屏幕左侧占用400px的空间,并以100vh的速度向下下降。我可以将其更改为固定,但不会改变这个问题。无论如何
function simplyWidth(changed, menu1, wrapper){
var wrapperWidth = $(wrapper).width();
var menuWidth = $(menu1).width();
var newWidth = wrapperWidth - menuWidth;
$(changed).css("width", newWidth);
};
它能工作吗?当然能工作。唯一的问题是,它根本不是动态的!它会调整一次屏幕大小,你必须刷新页面才能让它再次更新。有没有办法让JQuery/Javascript更新一次,这样我就可以每.1秒更新一次?这会使页面滞后吗?还是我做错了
另外,假设我的HTML是正确的,不需要修改。我之所以不披露它,是因为有太多的内容让我无法发布,也无法将你们这些活生生的垃圾弄糊涂
这是我的页面的基本布局:
<div id="wrapper">
<div id="menu1"></div>
<div id="content"></div>
</div>
菜单1 CSS:
#menu1 {
margin: 0 auto;
height: 100%;
width: 400px;
background-color:#191919;
color:white;
z-index: 400;
float: left;
}
内容CSS:
#content {
float:left;
color:white;
height: 100vh;
}
侦听resize事件,并在调整窗口大小时调用相同的函数:
$(window).resize(simplyWidth);
侦听resize事件,并在调整窗口大小时调用相同的函数:
$(window).resize(simplyWidth);
$(窗口).resize()
?:)$(窗口).resize()
?:)谢谢你,它一出大门就不起作用了,因为我不明白为什么什么也没出现。我停下来想了一会儿,意识到这是因为脚本在实际设置内容宽度之前,正在等待浏览器改变大小。我的更新代码现在看起来是这样的:simplyWidth('content','menu1','wrapper');$(窗口).resize(函数(){simplyWidth('content','menu1','wrapper'))代码>谢谢你的帮助。谢谢你,它一开始就不起作用,因为我不明白为什么什么都没有出现。我停下来想了一会儿,意识到这是因为脚本在实际设置内容宽度之前,正在等待浏览器改变大小。我的更新代码现在看起来是这样的:simplyWidth('content','menu1','wrapper');$(窗口).resize(函数(){simplyWidth('content','menu1','wrapper'))代码>谢谢你的帮助。