javascript - 如何在水平垂直滚动时获得滚动值
问题描述
我创建了一个在垂直滚动时水平滚动的网页。我想要滚动时的滚动值。这是我所做的
* {
padding: 0;
margin: 0;
}
#log {
position: fixed;
width: 500px;
height: 25px;
border: solid black 1px;
z-index: 999;
}
img{
position: fixed;
z-index: 999;
top: 50%;
left: 90vw;
transform: translate(0, -50%);
cursor: pointer;
user-select: none;
}
.outer-wrapper {
height: 100vw;
width: 100vh;
transform: rotate(-90deg) translateX(-100vh);
transform-origin: top left;
overflow-x: hidden;
overflow-y: scroll;
position: absolute;
scrollbar-width: none; /*---Firefox property---*/
-ms-overflow-style: none; /*---i.e. family---*/
}
::-webkit-scrollbar {
display: none; /*---Chrome and Safari*/
}
.wrapper {
display: flex;
flex-direction: row;
height: 100vh;
width: 400vw;
transform: rotate(90deg) translateY(-100vh);
transform-origin: top left;
}
.slide {
height: 100vh;
width: 100vw;
}
.slide1 {
background-color: teal;
}
.slide2 {
background-color: tomato;
}
.slide3 {
background-color: slateblue;
}
.slide4 {
background-color: palevioletred;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="style.css">
<title>Horizonral scroll</title>
</head>
<body>
<img draggable="false" src="https://cdn3.iconfinder.com/data/icons/iconic-1/32/arrow_right_alt1-512.png" alt="arrow_right" width="70px" height="70px">
<div class="outer-wrapper">
<div class="wrapper">
<div class="slide slide1"></div>
<div class="slide slide2"></div>
<div class="slide slide3"></div>
<div class="slide slide4"></div>
</div>
</div>
<script type="text/javascript" src="app.js"></script>
</body>
</html>
我尝试使用window.addEventListener('scroll')但没有得到任何滚动值。我尝试在 chrome 中调试 Js 代码,但功能甚至没有在滚动时调用。
window.addEventListener('scroll', () => {
console.log(Scrolled);
});
解决方案
您可以使用element.scrollTop
和element.scrollLeft
分别获取已滚动的垂直和水平偏移量。如果您关心整个页面,元素可以是 document.body。如果需要百分比,您可以将其与element.offsetHeight
and element.offsetWidth
(同样,元素可能是主体)进行比较。
推荐阅读
- css - 随机平铺背景
- python - python3 ctypes的无效句柄错误 - 昨天工作
- c++ - std::unordered_multiset 的不同元素的数量
- python - 从下拉列表中选择一个值
- java - 使用 JAXB 在 JAVA 中将 CSV 文件转换为层次结构 XML
- c - 您好,我需要一些帮助将此 c 代码转换为与 OpenMP 并行的代码
- mysql - MySQL Workbench:如何在启动期间禁用对所有表的扫描?
- javascript - 在表格单元格中用字符串替换 UL 列表
- python - python中的列表压缩
- postgresql - Postgres 12 升级后,reltuples 设置为 0