JavaScript 实现自动滚动
JavaScript 确保了更好的 UI 体验,并且具有广泛的方法。在我们设置页面自动滚动的问题中,我们将检查一些可以组合并制作很酷的 UI 的功能。
这里的基本任务是我们将在每次页面加载时自动滚动我们的网页。此外,当在滚动时按下 Enter 时,页面将停止。
再次按下 Enter 后,页面将开始滚动。让我们跳到代码,尝试理解代码流。
使用 scrollBy()
和 setInterval()
在 JavaScript 中自动滚动
在演示中,我们将拥有比视口更大的 UI。主要任务是用 JavaScript 实现的。
我们已经初始化了 2 个函数(startScroll
和 stopScroll
)。startScroll()
函数将在每次按下 Enter 时启用滚动。
当检测到 Enter 按下时,stopScroll()
将被启用。
startScroll
函数具有 setInterval()
和 scrollBy()
方法。我们将合并这两种方法。
通过方法 scrollBy()
,我们将设置我们期望的滚动类型。我们的代码将水平滚动设置为 0
,垂直滚动设置为 2
单位。
这是一种向下滚动的静态方式,你不会看到滚动发生。页面将在滚动部分之后跳转并显示给你。
因此,我们将时间间隔设置为 10 毫秒;因此,页面在视觉上会下降。在 stopScroll()
函数中,我们将通过检查当前页面位置的实例来清除间隔。
我们还将使用 Enter 进行条件语句以确保播放暂停。让我们检查一下代码。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div id="one" style="height: 250px; background:pink">
<br>
  On page load the scrolling of the page will be enabled. <br>
  When pressed enter, the scroll will be halt. <br>
  And when pressed again it will scroll. <br>
  When the scroll meets the end of page, the scrolling function will stop. <br>
  And you can manually scroll up. An when needed press enter again to scroll to down. <br>
</div>
<div id="one" style="height: 250px; background:purple"></div>
<div id="one" style="height: 250px; background:cyan"></div>
<div id="one" style="height: 250px; background:lightgreen"></div>
</body>
</html>
let scrollerID;
let paused = true;
let interval = 10;
function startScroll() {
let id = setInterval(function() {
window.scrollBy(0, 2);
if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) {
// end of page?
stopScroll();
}
}, interval);
return id;
}
function stopScroll() {
clearInterval(scrollerID);
}
document.body.addEventListener('keypress', function(event) {
if (event.which == 13 || event.keyCode == 13) {
// 'Enter' key
if (paused == true) {
scrollerID = startScroll();
paused = false;
} else {
stopScroll();
paused = true;
}
}
}, true);
输出:
可以看出,页面在到达页面末尾时停止滚动。并且当再次手动滚动到顶部时,可以再次播放滚动条。
因此,可以实现自动滚动行为。
相关文章
在 JavaScript 的警报框中显示变量值
发布时间:2024/03/18 浏览次数:166 分类:JavaScript
-
在本文中,我们将通过不同的示例了解 JavaScript 中的 Alert 方法是什么,以及 JavaScript 中警报框的用途和好处。
JavaScript 中的内联 if 语句
发布时间:2024/03/18 浏览次数:171 分类:JavaScript
-
JavaScript 条件语句可以使用内联 if 语句进行操作,也称为三元运算符。另一种方法是使用逻辑运算符来获得可感知的答案
JavaScript 使用 if 语句中的的 OR 条件
发布时间:2024/03/18 浏览次数:132 分类:JavaScript
-
JavaScript 包含条件语句,如 if else 语句、switch case 等。这些语句是有条件的,用于检查给定条件是否为 True OR Not,为此我们使用 OR ||和 && 运算符。
等价于 Ruby 的 unless 的 JavaScript 中的语句
发布时间:2024/03/18 浏览次数:178 分类:JavaScript
-
JavaScript 没有内置的除非条件或任何方法来处理。相反,它根据基本的 if-else 条件和三元条件进行决策。在 JavaScript 中,unless 可以通过用户定义的函数来实现,或者简单地否定一般的
使用 JavaScript 将 HTML 添加到 div 中
发布时间:2024/03/18 浏览次数:65 分类:JavaScript
-
通过 JavaScript 初始化一个 div 元素通常遵循 createElement() 方法。另一个先前的约定是使用 insertAdjacentHTML() 方法来定义一个 div 元素。
JavaScript 重新加载 DIV
发布时间:2024/03/18 浏览次数:89 分类:JavaScript
-
要在 HTML 正文中重新加载 div 内容,可以使用 jQuery 的 .load() 函数,与 window.location.href 合并并使用它选择所有其他 div。此外,了解进程是否正常工作的另一个关键部分是设置时间间隔。
在 JavaScript 中自动滚动到页面底部
发布时间:2024/03/18 浏览次数:92 分类:JavaScript
-
本文教你如何在 JavaScript 中自动滚动到页面底部。它还教你如何在 JavaScript 中使用和不使用动画进行滚动。
在 JavaScript 中设置滚动位置
发布时间:2024/03/18 浏览次数:160 分类:JavaScript
-
在界面中设置滚动位置可以通过 JavaScript 以多种方式实现。我们可以使用 scrollTo() 方法、scrollBy() 方法等。