博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
新添加的DOM节点如何实现动画效果
阅读量:5290 次
发布时间:2019-06-14

本文共 1581 字,大约阅读时间需要 5 分钟。

如何给新添加的DOM节点加动画效果

最近碰到项目中,在DOM节点中,添加新的 html 后 要有动画效果,一直没能很好地理解,尝试了各种方式,终于找出来了

  • 简化版结构

代码如下 使用jq1.9以上版本

css

.box {        padding: 10px;        background-color: #eee;    }    .dv {        margin-bottom: 10px;        width: 200px;        height: 150px;        background-color: skyblue;    }    .dv:nth-of-type(2n) {        background-color: pink;    }    .btn {        width: 120px;        height: 34px;        border-radius: 3px;        background-color: blue;    }

html

按钮

js

$(function () {        const templete = `
` $('.btn').on('click', function () { $('.box').append(templete) $('.box').find('.dv:last-of-type').slideDown(100) }) })

效果图

no_animate.gif

结果一点动画效果都没有,对其父设置都无效,很是奇怪,明明已经找到这个元素却依旧无法实现,只能想想其他方法,看看文档,终于发现,执行动画需要从无到有,而我也一直以为DOM添加的节点本来就是从无到有,实际上却是 该DOM节点设置为display: none然后变为 block,这才是真正的从无到有,所以接着就迎刃而解了

css

.none {    display: none;}

js

$(function () {    // 添加的 元素追加 none 默认不显示        const templete = `
` $('.btn').on('click', function () { $('.box').append(templete) $('.box').find('.dv:last-of-type').slideDown(100) }) })

效果

has_animate.gif

总结

  • 使用jquery时, 明明已经是 3以上的版本,使用:last-of-tyoe无法实现,而当前这个例子却可以,实在是无语
  • 动画效果本来不难,但是却没想到花费我这么长时间,一直都没想到是这个原因,终于找到了,记录一笔,避免下次再采坑

这两天在看vue时,也发现这样的要求

  • 条件渲染 (使用 v-if)
  • 条件展示 (使用 v-show)
  • 动态组件
  • 组件根节点

这篇

There are three classes to handle the A to B transition for when the element is displayed, and another three to handle the A to B transition for when the element is removed.

越理解原因,越好操作,加油

转载于:https://www.cnblogs.com/sinosaurus/p/9438665.html

你可能感兴趣的文章
转载:编剧技巧思路乱谈
查看>>
Linux centos7 rsync工具介绍、rsync常用选项、rsync通过ssh同步
查看>>
函数堆栈
查看>>
关于在linux系统下安装jdk
查看>>
请帮我看看这个页面,红色部份如何改才能保存到ACCess数据库中
查看>>
Oracle数据库初学者入门教程
查看>>
PHP实现栈(Stack)数据结构
查看>>
python常见问题及解决
查看>>
[原创]Java 的传值小例子
查看>>
【MySQL学习】安装和配置 服务无法启动 没有报告任何错误
查看>>
C# 修饰符
查看>>
JavaScript启示录
查看>>
我需要什么样的浏览器?
查看>>
取textaera里的值
查看>>
java设计模式1--工厂方法模式(Factory Method)
查看>>
博客第一弹—聊聊HTML的那些事
查看>>
上海2017QCon个人分享总结
查看>>
HIVE快速入门 分类: B4_HIVE 2015-...
查看>>
Mysql安装方法及安装问题解决
查看>>
Java动态代理的两种实现方式:
查看>>