点击右上方红色按钮关注“小郑搞码事”,每天都能学到知识,搞懂一个问题!

大家好!我是/小郑搞码事/的小郑

今天给大家分享JavaScript的基础知识-改变元素的位置。

没错,用JS实现过动画的同学都应该了解一点,简单来说,动画就是让元素的位置随着时间而不断地发生变化。所以改动元素位置就成了第一步。

今天讲解的例子,DOM结构及简略样式如下:

// 样式

#message{

position: relative;

width:330px;

height:330px;

background:#eee;

}

#block{

width:20px;

height:20px;

background:red;

}

// dom结构

一、初始化dom位置

如果需要默认动态初始化DOM的位置,可以设置元素的style属性。代码如下:

在dom加载完成之后,直接运行这个函数就能初始化dom的位置。如

window.onload = positionMessage

当然,最好是封装成一个函数来调用,方便有更多初始化的操作可以便利加入到这个函数中。那怎么封装window.onload呢? 看下面这段代码:

这个函数将要完成如下操作:

  1. 把现有的window.onload事件处理函数的值存入变量oldonload。
  2. 如何在这个处理函数上还没有绑定任何函数,就像平时那样把新函数添加给它。
  3. 如何在这个处理函数上已经绑定了一些函数,就把函数追加到现有指令的末尾。

调用的时候就可以直接像下面这样使用:

addLoadEvent(positionMessage)

二、改变dom位置

那么如何改变DOM的位置了?也就很简单了,我断续来写一个控制元素移动的函数。

如下:

综上所述,代码调用如下:

addLoadEvent(moveMessage)

效果如下:其实是一个静态的效果,因为我们还没有加时间,时间递增量等。

总结一下:

我们最终要实现的是一个可控的动画函数,这些在接下来的篇幅中我会把代码列出来,这些都是JS最基础的知识点,好好复习和加强巩固。

js封装函数_JavaScript基础-如何封装函数来改变元素的位置相关推荐

  1. dumpbin发现没有入口函数_JavaScript基础之入口函数-2020版

    JavaScript基础之入口函数-2020版 1.入口函数 window.onload = function(){ 内部放js} 这个函数的意思就是说,当我们页面加载完毕之后(就是说等页面的结构 样 ...

  2. js list添加元素_JS基础与常用函数

    JavaScript是没有Print()方法的. 所以要做内容输出,需要用到console.log(xxx) 控制台输出. Chrome浏览器中就可以编写代码,或者在编译器中,写纯JavaScript ...

  3. python中的封装调用_Python基础之封装

    一.什么是封装 在程序设计中,封装(Encapsulation)是对具体对象的一种抽象,即将某些部分隐藏起来,在程序外部看不到,其 含义是其他程序无法调用. 要了解封装,离不开"私有化&qu ...

  4. 文件函数python_Python 基础之文件 函数

    今天回顾一下之前学的文件操作相关知识点,对于文件的操作,主要有一下几部分构成: 一.文件的基础知识 1.文件操作的基本流程 文件操作其实可以分成三大部分: 1.打开文件,获取文件句柄并赋予一个变量 2 ...

  5. python常用数值处理函数_SciPy基础数据操作函数

    2. SciPy基础 SciPy以NumPy为基础,与NumPy一样,SciPy有着稳定,成熟,且应用广泛的数值运算库.方便.易于使用.专为科学和工程设计的python工具包,它包括了统计.优化.整合 ...

  6. java el 函数_javaweb基础(30)_EL函数库

    1 2 3 4 5 6 7 8 EL函数库中的方法使用范例 9 10 11 12 fn:toLowerCase函数使用范例: 13 14 它接收一个字符串类型的参数.fn:toLowerCase(&q ...

  7. mysql 中文字符 函数_MySQL基础之字符函数-Go语言中文社区

    本文主要介绍几个MySQL常见的字符函数. 1.length()函数 length函数用于获取值的字节个数.str参数可以是一个字符串.整数.浮点数.布尔值.函数.null等. 注:如果参数值是nul ...

  8. java数组释放空间函数_D4java基础(语句,函数,数组)

    *自学总结,如有错误,欢迎指正* 语句>>> 1:语句-for循环嵌套::首先得理解for循环,然后理解for循环的结束点.那么,就能理解外循环执行一次内循环执行到结束再调到外循环. ...

  9. load()是python文件操作的函数_python基础总结(函数,文件操作)

    divmod(a, b)#分别取商和余数 float([x])#将一个字符串或数转换为浮点数.如果无参数将返回0.0 int([x[, base]])#将一个字符转换为int类型,base表示进制 l ...

最新文章

  1. MIT开发新加密货币,用户所需数据比比特币减少99%
  2. 持续集成(一)为什么我们迫切需要持续集成
  3. mysql innodb 主键,Mysql InnoDB 引擎 主键性能
  4. python 每次读一行-转载 python每次读入文件一行的问题(血的教训啊)
  5. C#.NET禁止一个程序启动多个实例
  6. 如何建立数据驱动文化
  7. ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车红外遥控实验
  8. 洛谷 P4026 [SHOI2008]循环的债务
  9. ASP.NET Core 2加入了Razor页面特性
  10. Java –什么是瞬态字段?
  11. Android系统 (150)---Android 开发者工具
  12. mysql8.0 利用docker容器安装配置多主多从集群
  13. java集合框架之LinkedList
  14. 【Ubuntu录屏软件】SimpleScreenRecorder的安装与使用
  15. 社交网络的数据挖掘与分析,什么是社交网络分析
  16. Dev-C++下的char字符数组strlen()诡异事件
  17. php框架laravel win10,composer 安装Laravel (win10)
  18. 微信ipad协议(PC版)源码demo
  19. SWUST OJ题目解析(C语言):160促销计算
  20. 基于BOM搭建的生产管理系统——物料清单

热门文章

  1. 使用mac以来的一些认识
  2. oracle编写备份数据库代码,oracle_oracle数据库创建备份与恢复脚本整理,1:创建用户 复制代码 代码如 - phpStudy...
  3. java web课程题目_JavaWeb开发技术试题题目及答案,课程2020最新期末考试题库,章节测验答案...
  4. python 包和模块的区别_3分钟带你搞懂Python模块、包的区别和使用
  5. 卸载已经装的mysql_怎么卸载已经安装的mysql服务
  6. linux clone线程,如何在Linux上使用clone()创建真正的线程?
  7. 如何多人共同编辑_如何实现可多人协作的“在线excel”系统?
  8. 不允许使用java方式启动_细品 Java 中启动线程的正确和错误方式
  9. java 自定义类加载器_Java-JVM 自定义类加载器
  10. Yet Another Walking Robot CodeForces - 1296C