怎么判断setInterval的运行状态(是否停止)
接上篇
补充,有了自动滚动,让他点击的时候停止滚动,再点击继续滚动。怎么实现呢,就想到了setInterval和clearInterval。
添加点击事件:
$(document).ready(function() {let stop1 = setInterval(autoScroll1, 100)//滚动的$('#autoScroll1').click(function() {// console.log(stop1)if (stop1 != "autoScroll1") {clearInterval(stop1)stop1 = "autoScroll1";} else {stop1 = setInterval(autoScroll1, 100)}})function autoScroll1() {document.getElementById('autoScroll1').scrollTop += 1;// let max = document.getElementById('autoScroll1').scrollHeight - (document.getElementById('autoScroll1').screenTop + document.getElementById('autoScroll1').clientHeight);let autoScroll1 = document.getElementById('autoScroll1')//判断是否到滚动条底部,误差为1pxlet a = autoScroll1.scrollHeight;let b = autoScroll1.scrollTop;let c = autoScroll1.clientHeight;if (b + c >= a - 1) {document.getElementById('autoScroll1').scrollTop = 0}}})
总结,这里把setInterval 的返回值stop1重新赋值了,然后通过自己赋值的这个特殊的值(不会被随机数随机到的值)来判断是否在进行这个setInterval函数。
有兴趣的小伙伴自己可以试一下,在你clearInterval后,log一下这个返回值stop1,是一个随机的数字,本人猜想是:setInterval是一个宏任务,该随机数可能是任务栈中的队列数。(不一定对)
所以就给定一个自我定义的字符串,用来判断该任务是否被clear。
怎么判断setInterval的运行状态(是否停止)相关推荐
- setInterval的启动与停止,以及node-schedule的简单使用
setInterval 简介 setInterval()方法可按照指定的周期来调用函数或者计算表达式(以毫秒为单位) setInterval 启动 语法 :setInterval(函数表达式,毫秒数) ...
- setInterval的停止方法
网上查了一些资料,很多都是误导人的.现在把正确方法贴上来 建立定时任务 var referId = window.setInterval(function() {//dosomething1},300 ...
- 怎么停止html自动刷新桌面,怎么停止setinterval
javascript可以单独停止setInterval吗? jquery setinterval怎么停止. 怎么停止setinterval 可以单独停止一个setInterval的,setInterv ...
- 判断线程是否执行完毕_关于线程池你不能不知道的东西
前言 平时接触过多线程开发的童鞋应该都或多或少了解过线程池,之前发布的<阿里巴巴 Java 手册>里也有一条: 可见线程池的重要性. 简单来说使用线程池有以下几个目的: 线程是稀缺资源,不 ...
- windows服务,安装、启动、停止,配置,一个批处理文件搞定
相对而言,还是比较通用的吧,如果哪位仁兄有更好的实现方式,或者发现有不足之处,还请多多指教. @echo off echo.------------------------------------- ...
- android 获取Service(服务)的运行状态
在开发的时候,经常会用到服务,有时候就会用到判断服务的运行状态,下面就创建一个工具类来判断服务是在还在运行. package cn.edu.cqu.mobilesafe.utils;import ja ...
- Document.visibilityState 页面监听 vue中实现离开页面时计时停止: 停止计时后从上一次开始计时
概述 Document.visibilityState (只读属性), 返回document的可见性, 即当前可见元素的上下文环境. 由此可以知道当前文档(即为页面)是在背后, 或是不可见的隐藏的标签 ...
- 线程停止继续_线程不是你想中断就能中断
这是我2021年的第2篇原创文章,原汁原味的技术之路尽在Jerrycodes 为什么不强制停止 如何用 interrupt 停止线程 sleep 期间能否感受到中断 停止线程的方式有几种 总结 启动线 ...
- 2.1、StopWatch 启动与停止(ok)
run 方法第第一步就是 创建一个StopWatch,然后启动 public ConfigurableApplicationContext run(String... args) {// 1.Stop ...
最新文章
- GNN教程:DGL框架实现GCN算法!
- python增加一列数据计算年龄_无法使用python中的条件计算年龄。得到一个价值
- 公司新来的阿里p8,看了我做的APP和接口测试,甩给了我这份文档
- LOJ#2085 循环之美
- 什么是超融合数据中心网络?
- Java Graphics2D类的绘图方法
- SparkSubmit源码解读记录
- leetcode115. 不同的子序列
- python transform方法_Python transforms.BboxTransformFrom方法代码示例
- LeetCode 116/117 填充每个节点下一个右侧指针
- ai 文案_AI是UX文案的未来吗?
- 3月16日—3月20日四年级课程表
- 资源管理器清楚WPS网盘、百度网盘方法
- openjudge 1.9.14 铺地毯
- 最新DOS启动盘制作全攻略
- 基于Python实现的简易微信系统
- Android车载系统app性能自动化测试规划
- 通信教程 | I²C基础原理及通信协议
- 关于isEmpty(),null,“”的理解
- python的idle怎么运行_python中的idle是如何运行的