javascript - 你如何为一个功能制作一个开始/停止按钮?
问题描述
任何人都知道我可以如何制作一个开始/停止按钮来控制这个在 javascript 中的幻灯片吗?
<script>
var slideIndex = 0;
showSlides();
function showSlides() {
var i;
var slides = document.getElementsByClassName("mySlides");
var dots = document.getElementsByClassName("dot");
for (i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
slideIndex++;
if (slideIndex > slides.length) { slideIndex = 1 }
for (i = 0; i < dots.length; i++) {
dots[i].className = dots[i].className.replace(" active", "");
}
slides[slideIndex - 1].style.display = "block";
dots[slideIndex - 1].className += " active";
setTimeout(showSlides, 4000); // Change image every 4 seconds
}
</script>
解决方案
let timerInterval;
const incrementTimer = () => {
const counterPara = document.querySelector('#counter');
let counterVal = parseInt(counterPara.textContent);
counterPara.textContent = counterVal + 1;
}
const startTimer = () => {
timerInterval = setInterval(incrementTimer, 1000);
}
const stopTimer = () => {
clearInterval(timerInterval);
}
<p id="counter">0</p>
<button onclick="startTimer()">Start</button>
<button onclick="stopTimer()">Stop</button>
推荐阅读
- java - Spring Rest:在 RequestParam 中传递一个对象
- azure - Azure NSG,理想情况下基于源 IP 地址 PowerShell 的规则删除
- javascript - 带有 date-io 错误的日期解析格式字符串包含未转义的拉丁字母字符“g”
- android - 如何复制 Google Keep 的添加备注部分
- database - 有没有一种方法可以从数据库中向利益相关者提供关于最新数据点的数据,而无需手动导出
- python - 如何将 Python 输出结果保存在 csv 中
- javascript - Next.js,Firebase,未处理的运行时错误-TypeError:无法读取未定义的属性“initializeApp”
- rx-java2 - 即使收到响应,Micronaut RxJava2 客户端读取超时
- c++ - 在窗口中获取具有不同颜色的下一个形状的 SDL2/SDL 问题
- spring - Spring GraphQL 模式创建工作流程