js实例二(动画)

这篇博客介绍了如何利用JavaScript来创建字母移动的动画效果。在Visual Studio Code中编写代码,并在Google Chrome中进行调试。主要涉及了三个脚本:addLoadEvent.js用于处理多个事件,positionMessage.js用于设置元素的位置,而moveElement.js则负责实际的元素移动功能。通过repeat变量,将元素ID转化为字符串并结合坐标和间隔时间,实现了元素的动态移动。
摘要由CSDN通过智能技术生成

js实现字母移动

编译器:Visual studio Code
代码都是在Google Chrome里调试。


html代码

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=UFT-8">
        <title>js动画</title>
        <link href="css/03.css" rel="stylesheet">
    </head>
    <body>
        <p id="message">Whee!</p>
        <p id="message2">whoa!</p>
        <script type="text/javascript" src="js/addLoadEvent.js"></script>
        <script type="text/javascript" src="js/positionMessage.js"></script>
        <script type="text/javascript" src="js/moveElement.js"></script>
    </body>
</html>

addLoadEvent.js
为了能有多个事件需要执行而设置的,这里不需要,但也可以用¥。¥。

function addLoadEvent(func)
{
    var oldonload = window.onload;
    if(typeof oldonload != 'function')   //判断是否存在function
    {
        window.onload = func;     
    }
    else
    {
        window.onload = function()     //执行多个
        {
            oldonload();
            func();
        }
    }
}

positionMessage.js
给message和message2定位。

function positionMessage()
{
    var elem = document.getElementById("message");
    elem.style.position = "absolute";        //绝对定位
    elem.style.left = "50px";
    elem.style.top = "100px";
    moveElement("message",125,25,20);        //调用moveElement函数
    var elem = document.getElementById("message2");
    elem.style.position = "absolute";
    elem.style.left = "50px";
    elem.style.top = "50px";
    moveElement("message2",125,125,20);     //调用moveElement函数
}

moveElement.js
移动message和message2。

function moveElement(elementID,final_x,final_y,interval)         //抽象
{
    var elem = document.getElementById(elementID);
    var xpos = parseInt(elem.style.left);     //parseInt转化为整型数字
    var ypos = parseInt(elem.style.top);
    if(xpos == final_x && ypos == final_y)
    {
        return true;
    }
    if(xpos < final_x)
    {
        xpos++;
    }
    if(xpos > final_x)
    {
        xpos--;
    }
    if(ypos < final_y)
    {
        ypos++;
    }
    if(ypos >final_y)
    {
        ypos--;
    }
    elem.style.left = xpos + "px";
    elem.style.top = ypos + "px";
    var repeat = "moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")";
    movement = setTimeout(repeat,interval);
}

var repeat = “moveElement(’”+elementID+"’,"+final_x+","+final_y+","+interval+")";
这一串代码先看elementID,由于elementID是字符串,必须要要变为引号括起。而+连接字符串(包括逗号),级联。

JS DOM编程艺术(第二版)第十章。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZzDIY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值