gpt4 book ai didi

javascript - `innerText`怎么设置淡入效果?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:32:04 28 4
gpt4 key购买 nike

假设您有一个按钮可以替换同一区域、同一页面内的段落。

您能否通过设置 innerTexttextContent 使每次切换都淡入?

我现在使用 keyframes 将其不透明度从 0 更改为 1,但它仅适用于页面加载后的第一段。之后,每当我用 innerText 替换文本时,效果根本不显示。

所有排队等待的文本都是用 JavaScript 硬编码的,而不是用 HTML - 如果它进行了更改。

最佳答案

您需要引入延迟或重绘。引入延迟可能是最简单的方法。

p.classList.add('hide');               // add the class
setTimeout(function() { // delay and
p.textContent = txtList[idx]; // change text
idx = (idx + 1) % txtList.length;
}, 500);
setTimeout(function() { // delay and
p.classList.remove('hide') // remove the class
}, 500);

fiddle :http://jsfiddle.net/abhitalks/rdnt9d5w/

片段:

var txtList = [
'Lorem', 'ipsum', 'dolor', 'sit', 'amet',
'Lorem ipsum dolor sit amet'
], idx = 0,
p = document.getElementById('p1');

document.getElementById('btn1').addEventListener('click', fadein);

function fadein() {
p.classList.add('hide');
setTimeout(function() {
p.textContent = txtList[idx];
idx = (idx + 1) % txtList.length;
}, 500);
setTimeout(function() {
p.classList.remove('hide')
}, 500);
}
p { opacity: 1; transition: all 0.5s; }
p.hide { opacity: 0; }
<p id="p1">Lorem ipsum dolor sit amet</p>
<hr />
<button id="btn1">Change</button>

关于javascript - `innerText`怎么设置淡入效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33952969/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com