取消设置元素可见性,更改 innerHTML,然后转换回来
Unset element visibility, change innerHTML, and transisition back
我的HTML页面上有一个元素,我想提供动态内容,我希望插入的HTML从0%过渡到100%不透明度。
.HTML
<div id="content"></div>
.CSS
#content {
opacity: 1;
transition: opacity .5s ease-out;
-moz-transition: opacity .5s ease-out;
-webkit-transition: opacity .5s ease-out;
}
#content.hide {
opacity: 0;
}
JavaScript
function setContent(html) {
var content = document.getElementById("content");
//Set hide class
content.className += " hide";
//Set HTML
content.innerHTML = html;
//Unset hide class
content.className = content.className.replace(/(?:^|'s)hide(?!'S)/g, '');
}
请注意,setContent()
设置然后取消设置hide
类。但是,浏览器(至少是 Chrome)似乎直到从函数返回后才会使内容元素失效,因此该元素没有机会进行转换。如何确保动画播放?
编辑:需要明确的是,setContent()
是在加载DOM后调用的。想象一下,当发生某些操作时,一个应用程序会清除并重新填充屏幕。
你能更清楚地说明一下这个背景是什么吗?
另外,您在哪里调用该函数?你在 DOM 就绪函数中调用函数的位置吗?
在jQuery中,它将是这样的:
$(document).ready(function(){
//call the function inside here.
});
使用动画怎么样?
#content {
padding-left: 32px;
padding-right: 32px;
animation: fadein 0.5s;
-moz-animation: fadein 0.5s;
-webkit-animation: fadein 0.5s;
}
@keyframes fadein {
from {
opacity:0;
}
to {
opacity:1;
}
}
@-moz-keyframes fadein {
from {
opacity:0;
}
to {
opacity:1;
}
}
@-webkit-keyframes fadein {
from {
opacity:0;
}
to {
opacity:1;
}
}
相关文章:
- 如何将 Oracle 数据转换为 JSON,然后在 JavaScript 中使用
- 将普通的 PNG 图像转换为 JSON 数据,然后存储到对象
- JavaScript将人类可读的日期转换为unix时间戳,然后再转换回来
- jQuery知道第一个转换已经完成,然后进行第二个转换
- 有没有一种方法可以制作一个prezi,然后以某种方式将其转换为html和css类型的代码
- 通过regex匹配ahref标记,然后转换为字符串
- 将JSON字符串转换为JavaScript对象,然后创建一个HTML表
- Metor:将html保存为字符串,然后将其转换为DOM节点
- 使用 Json 获取 Twitter 提要,然后使用 PHP 将输出转换为 PHP 变量?- 推特-2-json脚本
- 取消设置元素可见性,更改 innerHTML,然后转换回来
- 调用math.rand,然后在函数argumnet中缩放并转换为int
- 在 Javascript 中将带有空格的字符串数组转换为小写,然后在 Webkit 中搜索它们失败
- 如何获取段落的文本,然后将其转换为 HTML 中的整数
- 使用 babel 将 es6 转换为 es5,然后与 Browserify 捆绑
- 将用户输入从 javascript 中的提示转换为数组,然后将其推送到对象上
- 将不可变.js地图列表转换为列表列表,然后将其用作Google图表的数据
- 从表单中提取值,然后将文本转换为整数
- 将Blob字符串URL转换为Blob,然后转换为base64
- 将 HTML 转换为文本,然后转换回 HTML 以添加到页面
- 如何从JSON对象中获取元素值,首先将其转换为HTML,然后转换为字符串