Javascript 如何使div滚动而页面本身不滚动?

Javascript 如何使div滚动而页面本身不滚动?,javascript,html,css,scroll,Javascript,Html,Css,Scroll,我偶然发现这个,觉得效果真的很神奇。我希望在某种程度上复制这种效果。我知道它将涉及css和javascript。在屏幕上渲染和居中的div非常容易。我遇到的问题是让每个人都从屏幕上滚动,而不是屏幕本身滚动。可以使用什么效果或策略来实现这一点 编辑:我不希望使用javascript或外部库方法。谢谢您可以使用溢出:自动或溢出:滚动 .container{ 高度:100px; 溢出:自动;/*您还可以使用溢出:滚动;选项*/ } 1 2 3 4 5 6 7 8 9 10 不管怎样,您都需要一点

我偶然发现这个,觉得效果真的很神奇。我希望在某种程度上复制这种效果。我知道它将涉及css和javascript。在屏幕上渲染和居中的div非常容易。我遇到的问题是让每个人都从屏幕上滚动,而不是屏幕本身滚动。可以使用什么效果或策略来实现这一点


编辑:我不希望使用javascript或外部库方法。谢谢

您可以使用溢出:自动溢出:滚动

.container{
高度:100px;
溢出:自动;/*您还可以使用溢出:滚动;选项*/
}

1
2
3
4
5
6
7
8
9
10
不管怎样,您都需要一点JavaScript来实现您提供的链接中显示的效果

以下是一个或多或少显示效果如何工作的示例:

var-active=0;
var divs=document.querySelectorAll('.wrap>div')
函数onScroll(){
var winHeight=window.innerHeight
var scrollmat=document.body.scrollTop;
var newActive=Math.floor(scrollAmt/winHeight)
如果(活动!=新建活动){
活动=新活动;
部门forEach(功能(el、indx){
if(indx div){
高度:100vh;
宽度:100%;
位置:固定;
排名:0;
左:0;
显示器:flex;
对齐项目:居中;
证明内容:中心;
}
.wrap>div>div{
宽度:50%;
身高:50%;
}
.wrap>div.first{z-index:3;}
.wrap>div.second{z-index:2;}
.wrap>div.third{z-index:1;}
.wrap>div.first>div{
背景:蓝色;
身高:60%;
}
.wrap>div.second>div{
背景:黄色;
宽度:55%;
身高:55%;
}
.wrap>div.third>div{
背景:绿色;
宽度:60%;
}
.wrap>div.released{
位置:相对位置;
}


我觉得这个网站是网页设计的时尚行业,他们使用(“滚动”)来制作每个对象/瓷砖的动画。也可以通过绑定(“触摸移动”)来制作用于移动支持。该对象实际上不是滚动的,而是为用户滚动时设置的动画。如果您愿意,我可以为您制作一把小提琴。@Crashtor是的,这会有帮助。我注意到该站点正在设置滚动条的样式并将其隐藏。例如:.ios.screen::-webkit scrollbar,:-webkit scrollbar{height:0!important;width:0!important;display:none;}因此,图像将使用本机滚动从屏幕的底部滚动(您可以在开发工具中禁用这些样式,并显示隐藏的滚动条)。但是,每个图像都是通过在正确的时间应用的css类固定的。collage image类有position:fixed;默认情况下,.is release类在轮到它们滚动时依次添加到每个拼贴图像中。我希望没有javascript您无法实现这一点。您可以看到他的javascript代码在chrome开发工具中,转到sources面板,导航到app.min.js文件。chrome有一个美化功能,您可以在其中单击{}图标,它将使1行更可读。代码实际上没有缩小,因此现在您可以看到所有内容,包括完整的函数/var名称。浏览到releaseImage函数并在那里设置断点(第1953行)。在网页上滚动以触发效果,然后逐步浏览代码。他所指的网站正在做一个比溢出更奇特的“把戏”:自动;