1、JS 动画效果:

JavaScript 主要通过代码修改 DOM 元素来实现动画的,并且可以配合定时器来实现循环播放,示例代码如下:


<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>JavaScript</title>

    <style>
		//*:这是一个通配符选择器,它选择页面上的所有元素。
        *{
			//将页面上所有元素的margin(外边距)设置为0
            margin: 0;
			//将页面上所有元素的padding(内边距)设置为0
            padding: 0;

        }

        #box {

            width: 200px;

            height: 200px;

            margin-top: 10px;

            background: rgb(43, 221, 255);

            position: relative; /* 设置元素的定位方式为相对定位 */  

            left: -200px;/* 相对于其正常位置向左移动200像素(由于position设置为relative)*/ 

            top: 0;/* 相对于其正常位置在垂直方向上不移动(这里其实可以省略,因为top的默认值就是0)*/

        }
		//针对ID为box的元素内的所有<span>标签设置样式
        #box span {

            width: 20px;

            background: rgb(255, 119, 157);
			/* 设置span元素的定位方式为绝对定位 */
            position: absolute;

            left: 200px;

            top: 75px;

            color: #fff;

            text-align: center;
			/* 当鼠标悬停在span元素上时,显示手形光标,通常用于指示该元素是可点击的 */ 
            cursor: pointer;
			/* 设置span元素的内边距,分别为上、右、下、左,即上下各5像素,右边1像素,左边0像素 */  
            padding: 5px 1px 5px 0;
			/* 设置span元素的边框圆角,左上角和右上角为0,右下角和左下角为5像素,这通常用于创建只在一侧有圆角的形状 */
            border-radius: 0 5px 5px 0;

        }

        #box span:hover {

            background: rgb(255, 84, 137);

        }

    </style>    
</head>

<body>

    <div id="box">

        <span id="share">分享</span>

    </div>

    <script>

        window.onload = function () {

            //动画

            var div = document.getElementById("box");

            var timer = null;
			//当鼠标移过这个 div 时,它会调用一个名为 startMove 的函数,并传递一个参数 0。
            div.onmouseover = function () {

                startMove(0);

            };
			//window.onload 是 JavaScript 中的一个事件,它会在整个页面及其所有依赖资源(如样式表和图片)完成加载后触发
            //一个 window.onload 事件只能分配一个函数
            //如果你需要为页面加载添加多个处理程序,你可能需要使用其他方法,如 addEventListener
            div.onmouseout = function () {

                startMove(-200);

            };

            function startMove(targetPosition) {

                clearInterval(timer);//取消由 setInterval() 方法设置的定时器。

                var speed = 0;

                if (targetPosition < 0) {

                    speed = -10;

                } else {

                    speed = 10;

                }

                timer = setInterval(function () {
					//检查 div 元素的当前左偏移量(offsetLeft)是否等于目标位置(targetPosition)。
                    if (div.offsetLeft == targetPosition) {
						如果 div 的 offsetLeft 等于 targetPosition,说明元素已经移动到了目标位置,于是调用 clearInterval(timer) 来取消定时器,元素就不会继续移动
                        clearInterval(timer);

                    } else {
						//更新元素的左偏移量。 speed,表示每次移动的距离(以像素为单位)
                        //将 div 的左偏移量增加 speed 像素。
                        div.style.left = div.offsetLeft + speed + 'px';

                    }

                }, 17);
                //17毫秒的间隔是为了接近每秒60帧的动画效果,但实际的帧率可能会受到浏览器性能和其他因素的影响。
				//大多数显示器的刷新率为 60HZ,为了实现更加平滑的动画效果,使用定时器的最佳循环间隔约为 17ms。
            }

        };

    </script>

</body>

</html>

2、JS 调试(Debug):

(1)控制台

(2)调试代码:

使用 console.log()document.write()alert() 等方法来打印程序中各个变量、对象、表达式的值,以确保程序每个阶段的运行结果都是正确的,推荐使用 console.log();

不会影响代码的运行;

为了代码更加整洁,在调试完程序后我们需要手动清理干净。

(3)断点调试:

1)打开浏览器内置的开发者工具(按 F12 或者单击鼠标右键,在弹出的菜单中选择“检查”),然后在找到并选择“Sources”:

JS 动画效果+JS 调试方法(debug、debugger关键字)_html

2)工具的左侧找到要调试的文件并单击打开该文件:

JS 动画效果+JS 调试方法(debug、debugger关键字)_偏移量_02

3)打断点:

单击要调试代码前面的行号即可,若行号被标记为蓝色,则说明已经成功打了断点。

JS 动画效果+JS 调试方法(debug、debugger关键字)_偏移量_03

4)断点调试:

刷新页面即可进入调试模式,代码执行到断点的位置会暂停,此时我们可以点击页面中的箭头会按 F8 来使代码继续执行到下个断点。

JS 动画效果+JS 调试方法(debug、debugger关键字)_html_04

调试过程中,会在调试工具的最右侧的 Scope 栏显示一些数据。此外,还可以在最右侧的 Watch 栏中录入要调试的变量名,这样在调试过程中就能实时看到代码运行中变量的变化。

5)逐语句执行:

点击下图所示的按钮,或者按 F10 即可。

JS 动画效果+JS 调试方法(debug、debugger关键字)_动画效果_05

6)debugger关键字:

也可以使用 debugger 关键字在代码中设置断点(类似于 PHP 中的 die 和 exit),效果与在调试工具中设置断点是一样的。


<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>JavaScript</title>

</head>

<body>

    <div id="box"></div>

    <script>

        var x = 15 * 5;

        debugger;

        document.getElementById('box').innerHTML = x;

    </script>

</body>

</html>

运行上面的代码,浏览器会自动进入调试模式,并在执行到 debugger 关键字时暂停。

暂时记录到这里,明天继续学习。

学习文章链接: https://blog.csdn.net/m0_62617719/article/details/127564745

------------------------------------------------  

版权声明:本文为博主原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/m0_62617719/article/details/127564745