javascript - 滚动时更改 div 显示
问题描述
嘿伙计们,当滚动通过第一个 div(即类名“one”)高度时,我正在尝试进行转换,它将其宽度调整为 20%,第二个 div(类名“two”)将取“一”类的剩余宽度。<== 当这种情况发生时,它会将“two”类转换为块而不是内联块的显示。我现在遇到的问题是,当“.one”类的大小调整为 20% 时,“.two”类的消失与下面的类相同,而当我向上滚动时“.two”类消失,它只会调整大小“.one”类 div 中途。谁能帮助我如何实现这一目标?这是我的代码和一些我想要制作的过渡图像,以防我仍然对我想要实现的目标感到困惑。
在这里,它从该图像显示到左侧显示的页面在滚动前的显示,以及从右侧显示的用户滚动页面时显示的图像,这将减小 div 类的大小“。
在左边的这部分图像中,当 div 类“.one”的宽度为 20% 时,它不会再次调整它的大小,而当 div 类“.one”的宽度为 20 时显示的右图% 它将 div 类 ".two" 的 css 从内联块更改为显示块,并且当它滚动时它将显示第三个 div。
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
* {
margin: 0;
padding: 0;
}
body {
overflow-x: hidden;
height: 2000px;
}
.container {
width: 100vw;
height: 100vh;
position: fixed;
}
.content-wrapper {
width: 100vw;
white-space: nowrap;
}
.section {
width: 100vw;
height: 100vh;
position: relative;
display: inline-block;
}
.section label {
font-size: 100px;
color: white;
text-align: center;
transform: translateX(-50%) translateY(-50%);
}
.one {
background-color: red;
top: 0;
z-index: -999;
}
.two {
background-color: yellow;
width: 100vw;
height: 100vh;
}
</style>
</head>
<body>
<div class="container">
<div class="content-wrapper">
<div class="section one">
<label>one</label>
</div>
<div class="section two">
<label>two</label>
</div>
</div>
<div class="revelation" style="width: 100vw; height: 100vh; background-color: black;">
<label>Tree</label>
</div>
</div>
<script
src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous">
</script>
<script type="text/javascript">
$(window).scroll(function() {
var winScrollTop = $(window).scrollTop() + 0,
zeroSizeHeight = $(document).height() - $(window).height(),
newSize = 1400 * (1 - (winScrollTop / zeroSizeHeight));
let box = document.querySelector('.one');
let width = box.clientWidth;
console.log(newSize)
if(newSize > 331.13772455089827 ){
$(".one").css({
"width":newSize
})
}else if(newSize <= 331.13772455089827){
$(".section").css({
"display":"block"
})
}
});
</script>
</body>
</html>
解决方案
推荐阅读
- markdown - 带有 bookdown 的 Markdown HTML:更改图形编号
- laravel - 当新项目被放置在 Laravel 应用程序的 composer.json 文件中时会发生什么
- python - 为什么要创建一个方法类型的对象,我想要一个列表类型的对象
- r - 如何将 R 输出保存在不同的目录中?
- symfony - Symfony 4 测试
- html - CSS 位置:绝对不能在 IE11 上正确显示
- python - Altair 图表上方的动态文本
- android - EditText 在 Android Studio 中隐藏屏幕
- javascript - 如何在 HTML 图像上绘制 p5.js 圆圈
- google-cloud-firestore - Google Firestore - 搜索数组中存在的多个项目(和操作)