Javascript 扩展div';页面向下滚动时的高度

Javascript 扩展div';页面向下滚动时的高度,javascript,html,css,Javascript,Html,Css,我正在寻找一种在页面滚动时动态更改div高度的方法。这是因为我在屏幕右侧有一个固定面板,在顶部有一个菜单横幅 当位于页面顶部时,侧面板的顶部接触顶部横幅的底部。问题是,当页面向下滚动并且横幅离开屏幕时,在屏幕顶部和侧面板顶部之间会留下一个顶部横幅大小的间隙。我想在它们之间加一个div,当页面向下滚动时,它的高度会增加。css或js中是否有这样做的方法 我不能让侧面板有100%的高度,因为它会在顶部横幅上隐藏一些元素,特别是在低分辨率屏幕上 我添加了一些在油漆上制作的丑陋图像来解释: 这是侧面

我正在寻找一种在页面滚动时动态更改div高度的方法。这是因为我在屏幕右侧有一个固定面板,在顶部有一个菜单横幅

当位于页面顶部时,侧面板的顶部接触顶部横幅的底部。问题是,当页面向下滚动并且横幅离开屏幕时,在屏幕顶部和侧面板顶部之间会留下一个顶部横幅大小的间隙。我想在它们之间加一个div,当页面向下滚动时,它的高度会增加。css或js中是否有这样做的方法

我不能让侧面板有100%的高度,因为它会在顶部横幅上隐藏一些元素,特别是在低分辨率屏幕上

我添加了一些在油漆上制作的丑陋图像来解释:

这是侧面板的css:

position: fixed;
right: 0;
top: 180px;
height:calc(100% - 180px);

你好,我真的不了解你的情况。。但考虑到您的需要,只要在滚动时调用js函数即可:

<body> 
<div class="content" onscroll="dynamicheight()">
</div>

<script>
function dynamicheight() {
    var content = document.getElementById("content");
    var y = content.scrollTop;
    document.getElementById('random').style.height = y;
}
</script>

函数dynamicheight(){
var content=document.getElementById(“内容”);
var y=content.scrollTop;
document.getElementById('random').style.height=y;
}

这样,id为random的div将根据您的滚动量增长。很明显,你必须根据自己的意愿调整它。希望这能对您有所指导。

根据您的问题,您必须将面板粘贴到右滚动的视口顶部

为此,您可以欺骗一些与菜单栏高度相等的负边距,如

$(窗口)。滚动(函数(){
如果($(“.sidepanel”).offset().top>50){
$(“.sidepanel”).addClass(“粘贴顶部”);
}否则{
$(“.sidepanel”)。移除类(“粘贴顶部”);
}
});
正文{
保证金:0;
填充:0;
高度:1000px
}
.菜单{
宽度:100%;
高度:50px;
背景:#111111
}
.侧面板{
宽度:200px;
高度:200px;
背景:#888888;
位置:固定;
-webkit转换:所有0.35秒;
-moz转换:所有0.35秒;
过渡:所有0.35秒;
}
.侧面板{
利润上限:-50px
}

首先根据您可以自动调整的内容查看


不确定你问的问题是否正确。为什么你“想在它们之间加一个div,当页面向下滚动时,这个div会增加高度”?在@phuzi I中发布你尝试过的代码或重现问题,用一些图片更新问题。你可以在横幅后面加一个固定的div,横幅位于页面滚动时显示的侧面板上方。纯净的CSS@phuzi如果我正在工作的站点编码很好,我可以这样做,但我称之为我的横幅只是一个2像素宽的红色图像,在页面顶部有“repeat-x”…不幸的是,这似乎不起作用,我尝试使用其他值代替高度,但似乎没有更新任何值…嗨,sry,我应该稍微更改一下代码。您需要将px添加到值中。尝试以下代码:document.getElementById('random').style.height=y+“px”@我已经试过了。(你还忘了一个“在上面的代码中,顺便说一句)我已经包装了页面上的所有内容,因为我不知道你的代码,我只能假设…我创建了一个小提琴,希望这会对你有所帮助。我修复了缺失的内容):)谢谢