gpt4 book ai didi

javascript - Vanilla JS 动画?

转载 作者:太空宇宙 更新时间:2023-11-03 22:10:44 24 4
gpt4 key购买 nike

就像问题中一样,我有一个代码:

$(document).on('click', '.link-fade', function (event) {
event.preventDefault();
var link = this;
$('body').fadeOut(function () {
location.href = link.href;
});
});

它是使用 Jquery 库编写的,但我想在没有它的情况下编写它(我知道你必须使用 addEventlistener 等和 XHR,但我不知道如何使用 XHR)如何在没有 Jquery 的情况下编写这段代码?

这是 CSS 代码(动画):

body {
-webkit-animation: fadeIn 1s ease-in;
animation: fadeIn 1s ease-in;
}

@-webkit-keyframes fadeIn {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}

最佳答案

您可以使用 transitionopacity CSS 属性。

首先在您的页面上定义以下 CSS:

body { transition: opacity 400ms }

这将确保如果您更改主体的不透明度,它将具有淡入淡出效果。

通过监听 transitionend 事件,您可以在转换结束后执行预期的导航操作。

最后,事件委托(delegate)可以通过在事件处理程序中添加类检查来完成:如果事件没有发生在类“link-fade”的元素上,那么就退出处理程序:

document.addEventListener('click', function (event) {
if (!event.target.classList.contains("link-fade")) return;
event.preventDefault();
var link = event.target;
document.body.style.opacity = 0;
document.body.addEventListener("transitionend", function () {
location.href = link.href;
});
});

注意:this,在事件处理程序中,将是 document。单击的元素是 event.target

关于javascript - Vanilla JS 动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59604032/

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