【发布时间】:2020-10-06 17:29:58
【问题描述】:
我希望为下面的“这是不允许的”文本设置动画。
document.getElementById("ve").innerHTML = '<p style="text-align:center"><h1><span style="color:blue">This is </span><span style="color:red">NOT allowed</span><span style="color:blue">. </span></h1></p>';
不幸的是,我必须在 java 脚本中使用 innerHTML。没有 HTML 页面。 java 脚本动态生成 HTML,因此我无法访问 HTML 页面。我想为文本动画淡入或一些简单的反弹。因为它是一个 javascript 文件,所以我无权访问 css 文件(或者我错了吗?)。我正在寻找更少的代码和非常简单的机制。一个想法是我可以通过复制粘贴显示 innerHTML 来模拟闪烁,将其设置为“”,然后每 1 秒再次显示一次。有什么优雅的方法吗? 我不能使用像 jQuery 这样的任何 javascript 框架。
注意*:我复制粘贴代码以将值分配给 innerHTML,并将其设置为每 2 秒“”,闪烁效果不会发生。所以这个选项被排除了,我猜。我是具有丰富后端经验的 UI nube :(
编辑** 我决定使用@JoshB 的答案。它可以工作并且更清洁。 HTML 标签和动画是明确分开的。我的目标是患有某些疾病的人。我是一个 0/10,我想要更简单的愚蠢解决方案。感谢您的帮助。
【问题讨论】:
-
你好,你想做什么样的动画?您是否创建了元素“ve”?
-
您可以使用 css-transitions 制作此类动画。如果不能使用 css 文件,可以使用 javascript 添加 css 规则。
-
@RobertoVargas:我的观众是看到高对比度颜色的老年人。因此动画但不会分心。任何像 25px 一样抖动/移动文本的东西都是好的。我每 2 秒管理一次 div show-hide-show-hide 模式,但解决方案不够优雅。如果文本被隐藏,我的观众很可能会错过看到文本。也许我可以在黄色背景上显示文字,但一点点动作就会吸引我的观众的注意力。
-
@Patrick 我看到了一些 css 动画 html.am/html-codes/marquees/css-marquee.cfm 但是我应该如何在 innerHTML 中添加如此复杂的 css 内联?
标签: javascript html