У меня есть значок загрузки в CSS, когда кто-то нажимает на ссылку, проблема в мобильной версии, у меня есть слайд-меню, которое открывается с помощью одного тега или ссылки, а значок CSS отображается и никогда не исчезает.
Мне нужно скрыть значок CSS через 3 секунды, это мой код.
$('a').click(function(){
$('.loadingDiv').fadeIn('slow', function(){
$('.loadingDiv').delay(3000).fadeOut();
});
$('<div class = "loadingDiv mobileShow"></div>').prependTo(document.body);
});
.loadingDiv {
position: fixed;
left: 45%;
top: 30%;
width: 100%;
height: 100%;
z-index: 9999;
opacity: .5;
width: 40px;
height: 40px;
background-color: #333;
width: 40px;
height: 40px;
background-color: #333;
margin: 100px auto;
-webkit-animation: sk-rotateplane 1.2s infinite ease-in-out;
animation: sk-rotateplane 1.2s infinite ease-in-out;
}
@-webkit-keyframes sk-rotateplane {
0% { -webkit-transform: perspective(120px) }
50% { -webkit-transform: perspective(120px) rotateY(180deg) }
100% { -webkit-transform: perspective(120px) rotateY(180deg) rotateX(180deg) }
}
@keyframes sk-rotateplane {
0% {
transform: perspective(120px) rotateX(0deg) rotateY(0deg);
-webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg)
} 50% {
transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
-webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg)
} 100% {
transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
-webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
}
}
Но не работает, любая помощь будет отличной, потому что
$ ('<div class = "loadingDiv mobileShow"> </div>') .prependTo (document.body);



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Не забывайте о setTimeout.
Вы можете просто:
setTimeout(function () {
... do the fading out here ...
}, 3000);
Я всегда предпочитаю решение vanila-js, а не jQuery. ;)
Ваше здоровье!
Спасибо, я решил проблему, это мой код в JS '<script type = "text / javascript"> $ (' a '). Click (function () {$ ('. LoadingDiv '). FadeIn (' slow ' , function () {$ ('. loadingDiv'). delay (2000) .fadeOut ();}); / * $ ('<div class = "loadingDiv mobileShow" id = "loadingDiv" style = "display: none; "> </div> ') .prependTo (document.body); * /}); </script> <div class = "loadingDiv" id = "loadingDiv" style = "display: none;"> </div> '
Что ж, этот фрагмент ничего не сделает, поскольку HTML не определен, а jQuery в него не включен.