gpt4 book ai didi

javascript - JavaScript 中的动画 insertBefore

转载 作者:行者123 更新时间:2023-11-28 14:06:49 26 4
gpt4 key购买 nike

所以我有这个应用程序来检查服务器上的更新以获得 JSON 响应,每个新更新都放在我的列表顶部的新 div 上,该新 div 是使用 javascript 通过 insertBefore 添加的。

一切都很好,但我想在添加 div 时添加动画效果,即“缓慢”向下移动现有的 div,并在顶部添加新的 div,有关如何执行此操作的任何指示?

该应用程序实际上在 facebook 中运行,不使用 iframe,我尝试使用 jquery 但它似乎在 facebook 上不起作用,并且查看 FB 所做的代码修改,我认为其他框架也会有类似的问题。

最佳答案

由于您想要自己完成,因此您需要使用 setTimeout 来重复更改 div 的高度。基本的、快速的、肮脏的代码看起来像这样:

var newDiv; 

function insertNewDiv() {
// This is called when you realize something was updated
// ...
newDiv = document.createElement('div');
newDiv.style.height = "0px";
document.body.appendChild(newDiv);
setTimeout(slideInDiv, 0);
}

function slideInDiv(){
newDiv.style.height = newDiv.clientHeight + 10 + "px"; // Slowly make it bigger

if (newDiv.clientHeight < 100){
setTimeout(slideInDiv, 40); // 40ms is approx 25 fps
} else {
addContent();
}
}


function addContent(){
newDiv.innerHTML = "Done!";
}

请注意,您可能希望使动画代码更加通用(传入 ID、回调函数等),但对于基本动画来说,这应该可以帮助您入门。

关于javascript - JavaScript 中的动画 insertBefore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/321465/

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