Плавное появления элемента
function test(text){
document.body.innerHTML+='<div id="alert" class="alert">'+text+'</div>';
setInterval(function(){
elem("alert").classList.add("alert-open");
},100)
}
.alert {
position: fixed;
left: 0;
right: 0;
bottom: -30%;
transition-property: bottom;
transition-duration: 0.5s;
}
.alert-open {
bottom: 0%;
}
Когда вызываем функцию у нас появляется блок который плавно выезжает. Подскажите пожалуйста как избавится от setInterval? Спасибо. |
Не то.
|
Не обратил внимание на классы.
Странно, у вас что вся страница будет из одного DIV? Создавайте, затем добавляйте его в документ, и добавленному указывайте и имя класса, и таймер не потребуется. Анимации CSS можно задать и задержку, если требуется. |
Цитата:
|
Цитата:
|
Цитата:
<!doctype html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
.alert {
position: fixed;
left: 0;
right: 0;
bottom: -30%;
transition-property: bottom;
transition-duration: 0.5s;
}
.alert-open {
bottom: 0%;
font-size: 48px;
text-align: center;
}
</style>
</head>
<body>
<script>
function test(text){
let elem = document.createElement('div');
elem.className = 'alert';
elem.innerHTML = text;
document.body.appendChild(elem);
document.body.scrollHeight;
elem.classList.add("alert-open");
}
test('text')
</script>
</body>
</html>
|
Цитата:
Блок добавляется и позиционируется поверх всего сайта. |
Цитата:
|
Цитата:
Цитата:
Есть идеи почему? (Мой код плавно работал и на телефоне) |
Цитата:
document.body.scrollHeight; смотрите исправленный пример выше |
| Часовой пояс GMT +3, время: 03:43. |