javascript - 我有一个带有非滚动左侧栏和可滚动右侧容器的页面。我想在容器中添加一个“转到顶部”按钮
问题描述
我已经编写了代码,以便在页面滚动 20px 后它会显示出来。但是使用此代码,按钮不会显示。这里的问题是,当侧边栏和容器都滚动时,按钮可以正常工作。我希望它在仅滚动正确的容器时工作
//go to top button
var topBtn = document.getElementById('top');
var contain = document.getElementsByClassName('container').scrollTop;
window.onscroll = function(){
scrollFunction()
};
function scrollFunction(){
if (document.contain > 20){
topBtn.style.display = 'block';
}
else{
topBtn.style.display = 'none';
}
}
function goToTop(){
document.contain = 0;
document.documentElement.scrollTop = 0;
}
topBtn.addEventListener('click', goToTop);
<div class="wrapper">
<nav role="navigation" id="nav">
<img class="profile-img" src="images/profile-photo-new.jpg" alt="" />
<a href="#about" class="nav-links">About</a>
<a href="#experience" class="nav-links">Experience</a>
<a href="#education" class="nav-links">Education</a>
<a href="#skills" class="nav-links">Skills</a>
<a href="#interests" class="nav-links">Interests</a>
<a href="#certificates" class="nav-links">Certificates</a>
</nav>
<div class="container">
<div id="about" class="mtb about-fixed-nav">
<h1 class="heading about-head">
<span>Pratit</span>
Bangdiwala
</h1>
<a href="#" id="top">Top</a>
</div>
</div>
<script src="custom.js"></script>
</body>
</html>
解决方案
不需要Javascript
用这个
<a href="#nav" id="top">Top</a>
使用页面顶部元素的 ID 作为“href”值,如“nav”
推荐阅读
- grafana - Grafana 中按天分组的 InfluxDB 数据移动了一天
- google-sheets - 根据输入在 Google 表格中创建动态列表
- android - 如何使用 dart/flutter 中的共享首选项保存和获取列表列表
- windows - DNS 配置添加新主机(A 或 AAAA)和新别名(CNAME)
- r - 将不同列中的文本值计数到新列中
- nix - Nix 语言中有效标识符的语法是什么?
- php - 无法使用 Laravel 提交表格数据
- c++ - 使用向量的斐波那契数列
- windows - 我在 GAC 中列出的 DLL 在尝试引用时没有出现在 VS 中
- python - 如果出现超时异常,如何重新启动脚本