一、window.setInterval()方法的定义和用法
一、window.setInterval()
方法的定义和用法
window.setInterval()
方法是JavaScript中的一个计时器函数,用于周期性地重复执行指定代码,间隔时间由用户自定义。它的语法如下:
window.setInterval(func, delay, arg1, arg2, ...)
参数说明:
func
:周期性执行的代码块,可以是一个函数名或一个函数表达式。delay
:两次执行之间的间隔时间,单位是毫秒。如果省略,则默认为0。arg1, arg2, ...
:可选参数。传递给func
函数的参数。
setInterval()
方法会返回唯一包含该周期性执行的代码块的标识符,该标识符可作为后续取消该执行的依据。例如:
const timer = window.setInterval(function() {
console.log('Hello, World!');
}, 1000);
clearInterval(timer); // 取消周期性执行
上述代码会每隔1秒执行一次console.log()
。如果不需要周期性执行了,可以使用clearInterval()
方法取消。
二、offsetLeft与style.left的区别
offsetLeft
和style.left
都是用于获取或设置元素的水平偏移位置的属性,但它们有以下几点区别:
-
offsetLeft
:返回元素相对于其offsetParent
元素的左边缘位置,以像素为单位。offsetParent
是指离该元素最近的有定位的祖先元素。 -
style.left
:返回元素相对于其包含块元素左侧的距离,以像素为单位。包含块是指浏览器计算该元素的位置时的参照元素。
示例一:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>offsetLeft与style.left示例</title>
<style>
#box {
position: relative;
left: 50px;
}
</style>
</head>
<body>
<div id="box">Hello, World!</div>
<script>
const box = document.getElementById('box');
console.log(box.offsetLeft); // 输出50
console.log(box.style.left); // 输出50px
</script>
</body>
</html>
上述代码中,#box
元素设置了position:relative
和left:50px
,所以它的offsetLeft
为50,style.left
为"50px"。
示例二:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>offsetLeft与style.left示例</title>
<style>
#box {
position: absolute;
left: 50px;
}
</style>
</head>
<body>
<div id="container" style="position:relative">
<div id="box">Hello, World!</div>
</div>
<script>
const box = document.getElementById('box');
console.log(box.offsetLeft); // 输出50
console.log(box.style.left); // 输出50px
</script>
</body>
</html>
上述代码中,#box
元素设置了position:absolute
和left:50px
,但它的包含块是#container
元素,所以它的offsetLeft
依然为50,style.left
为"50px"。
本文标题为:window.setInterval()方法的定义和用法及offsetLeft与style.left的区别


基础教程推荐
- 纯javascript的ajax实现php异步提交表单的简单实例 2022-12-28
- 使用box-sizing让CSS布局更直观 2023-12-12
- mac版Sublime Text菜单汉化教程 2023-08-29
- clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析 2023-12-21
- 下拉菜单的级联操作(ajax) 2023-01-21
- vue electron实现无边框窗口示例详解 2023-12-19
- 一文掌握在Vue3中书写TSX的使用方法 2023-07-09
- CSS自定义滚动条样式案例详解 2022-11-23
- AJAX+Servlet实现的数据处理显示功能示例 2023-02-14
- 仿3721首页模块拖曳移动效果js代码[可拖曳层移动层] 2023-12-19