参考:

https://blog.csdn.net/leijie0322/article/details/80664554

https://www.cnblogs.com/jpfss/p/9106209.html

需求是要求在图片上添加一个动画效果,可以位置、颜色、大小等参数,

1、在原有的图片上增加一个动画层、

2、动态更换动画参数

3、删除之前加载的动画,更新动画。

      <div
v-else
@mousedown="move"
@touchstart="phonetouchstart"
@touchmove="phonetouchmove"
@touchend="phonetouchend"
align="justify"
class="img3dmodels"
>
<img id="floormodels" :src="img_url" />
<div id="animation_div"></div> //这里就是动画层了 </div>

添加div

    setanimationparameter(op, parameter) {
// 创建动画var divs = document.createElement("div") // 创建div
var cass = document.createAttribute("class"); //创建class定义
cass.value = "animation"; //添加class
divs.setAttributeNode(cass) //div绑定class
var style = document.createAttribute("style"); // 创建style
divs.setAttributeNode(style); // 绑定style divs.style.width = parameter.w;
divs.style.height = parameter.h;
divs.style.left = parameter.x;
divs.style.top = parameter.y;
divs.style.backgroundColor = parameter.color;
op.appendChild(divs) // 添加到动画层 },

清空div

    removeanimation(){
//清空动画、清空动画层内所有的元素
let op = document.getElementById("animation_div");
op.innerHTML =''
},

执行代码

setanimation(parameter,imgIndex) {
let op = document.getElementById("animation_div");
this.removeanimation()
// 楼栋名称、底图、位置、大小、形状、显示隐藏
// parameter : 动画参数
// imgIndex : 展示底图名称
// console.log(parameter)
this.img_url = `${this.imgpwd}${this.filename}${this.prefix}${imgIndex}.png`; if(parameter){
if (parameter.length){
for (let index = 0; index < parameter.length; index++) {
const element = parameter[index];
this.setanimationparameter(op,element);
}
}else{
this.setanimationparameter(op,parameter);
}
console.log("更换动画");
}else{
console.log('动画参数为空')
} },

JavaScript 原生控制元素添加删除的更多相关文章

  1. JavaScript DOM方法表格添加删除

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title> ...

  2. 用JQuery动态为选中元素添加/删除类

    在做一些tab页功能时,我们经常会见到如下样式: 即当选中一个元素时,在此元素下会添加相应的类,以示区别.今天就研究了一下如何用JQuery实现此效果. 1. HTML代码 <a id=&quo ...

  3. 01 使用JavaScript原生控制div属性

    写在前面: 因对前端开发感兴趣,于是自学前端技术,现在已经会HTML.CSS.JavaScript基础技术.但水平处于小白阶段,在网上找一些小项目练练手,促进自己的技术成长.文章记录自己的所思所想,以 ...

  4. JavaScript在div后添加删除div

    var idd = 'str'; $('.task-done-detail-content-p7').click(function () { var id = this.id; if(idd !== ...

  5. 在jinja2的页面中使用javascript对页面元素进行删除

    以对用户注册信息的审核为例. 后端的代码为: #encoding=utf-8 class RegisterCheck(system.page): '''注册信息审核''' path = "/ ...

  6. javascript原生获取元素的方法对比

    document.getElementsByTagName(li)获取的是数组,要获取指定值,需在后面加[0],[1]等,即document.getElementsByTagName(li)[0] d ...

  7. JavaScript实现,控制一个文本框只能输入正整数,如输入不符合条件则文本框全部字体标红

    腾讯2014年研发职位笔试题Web前端方向简单题第一题. 代码: <html> <head> <title>test JavaScript</title> ...

  8. 用Javascript动态添加删除HTML元素实例 (转载)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. JavaScript HTML DOM---遗漏知识再整理(向html添加/删除元素,改变内容和css)

    1.  HTML DOM 改变 HTML 内容:(HTML DOM 允许 JavaScript 改变 HTML 元素的内容.) (1)改变 HTML 输出流 在 JavaScript 中,docume ...

随机推荐

  1. 备战秋招之十大排序——O(nlogn)级排序算法

    时间复杂度O(nlogn)级排序算法 五.希尔排序 首批将时间复杂度降到 O(n^2) 以下的算法之一.虽然原始的希尔排序最坏时间复杂度仍然是O(n^2),但经过优化的希尔排序可以达到 O(n^{1. ...

  2. 骨架屏css样式

    .chiaroscuro { background: #f2f2f2; animation-duration: 1.5s; animation-name: blink; animation-itera ...

  3. redisson 分布式加锁

    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...

  4. C++ CLI简介(什么是C++ CLI)

    要知道C++/CLI是什么,首先知道什么是CLI. 一.CLI简介 CLI:(Common Language Infrastructure,通用语言框架)提供了一套可执行代码和它所运行需要的虚拟执行环 ...

  5. 流媒体 Ubuntu部署srs、windows部署nginx

    一.获取项目//码云克隆git clone https://gitee.com/winlinvip/srs.oschina.git srs//githubgit clone https://githu ...

  6. GIT基础篇,配置账号及命令查看以及帮助命令

    提交用户名和邮件地址   1 安装完Git首先要设置你的用户名称与邮件地址.每一个Git的提交都会使用这些信息,并且它会写入到你的每一次提交中. 2 git config --global user. ...

  7. C# ThreadLocal源码追踪

    ThreadLocal 字段成员: private Func<T>? _valueFactory; 一个获取默认值的委托 不同线程共享此成员. [ThreadStatic] private ...

  8. hive表导出到mysql报错

    Exception in thread "main" java.lang.NoClassDefFoundError: org/json/JSONObject hadoop@hado ...

  9. ES6扩展——模板字符串

    ${ } 模板字符串占位符 需要用反引号` ` 1.模板字符串 `${变量}` const xiaoming = { name:'xiaoming', age:14, say1:function(){ ...

  10. Linux下修改mysql默认最大连接数

    liunx下修改mysql最大连接数(Centos下测试通过)1.查看当前系统下mysql设置的最大连接数方式一.mysqladmin -uroot -p variables |grep max_co ...