Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
10 / 10 / 13
Регистрация: 27.09.2016
Сообщений: 248
1

пропадает snackbar, наверное из-за setTimeout

14.08.2017, 15:17. Показов 732. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
если несколько раз нажать на кнопку, то вызовется только одна панель, которая будет висеть 3 секунды. но если панель пропадает и нажать на кнопку еще раз, то панель появляется и исчезает раньше 3 секунды.

думаю проблема в этой строке

Javascript
1
setTimeout(function(){ snackbar.classList.remove("show"); }, 3000);
наверное проходит время с прошлых кликов и поэтому панель убирается раньше положенного времени.Есть ли способы исправить, я новенький в js?


https://jsfiddle.net/m6jtLy5v/

HTML5
1
2
3
<div id="snackbar"></div>
<br><br><br><br><br><br><br>
<button type="button">show</button>
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#snackbar 
{
    visibility: hidden;
    box-sizing: border-box;
    overflow: hidden;
    width: 100%;
    height: 60px;
    font-family: Arial;
    color: #fff;
    text-align: center;
    padding: 10px;
    position: fixed;
    z-index: 1;
    top: 0px;
    font-size: 1.5em;
}
 
#snackbar.show 
{
    visibility: visible;
    animation: fadein 0.5s, fadeout 0.5s 2.5s;
}
 
 
@keyframes fadein 
{
    from {top: -30px; opacity: 0;} 
    to {top: 0px; opacity: 1;}
}
 
@keyframes fadeout 
{
    from {top: 0px; opacity: 1;} 
    to {top: -30px; opacity: 0;}
}
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var btn = document.querySelector("button")
btn.onclick = function()
{
    show_snackbar("Text", 'orange');
};
 
function show_snackbar(message, color = "#333") 
{
    var snackbar = document.getElementById("snackbar")
    
    snackbar.style.backgroundColor = color;
    snackbar.textContent = message;
   
    snackbar.className = "show";
 
    // !!!!
    setTimeout(function(){ snackbar.classList.remove("show"); }, 3000);
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.08.2017, 15:17
Ответы с готовыми решениями:

Закрытие Snackbar
Как сделать чтобы при первом нажатии на FloatingActionButton, Snackbar открывался, а при втором...

Возможности отображения Snackbar?
А вопрос в следующем, реально ли отобразить снэкбар если DialogFragment на переднем плане, т.е....

Вызов Snackbar из меню
Как заставить запуститься Snackbar сообщение при тыке в меню? public boolean...

SnackBar ,Cannot resolve method make
Здравствуйте, пытаюсь вызвать метод make у snackbar'а ,выдает ошибку &quot;Cannot resolve method...

2
Эксперт JS
2454 / 1761 / 624
Регистрация: 11.07.2016
Сообщений: 4,051
14.08.2017, 15:23 2
Зашёл на ваш фиддл. Проблему не увидел.
1
10 / 10 / 13
Регистрация: 27.09.2016
Сообщений: 248
14.08.2017, 15:40  [ТС] 3
странно. может я неправильно объяснил. попробуйте нажать на кнопку несколько раз когда панель будет активна, а когда она исчезнет нажмите снова лишь раз. у вас она будет активной 3 секунды? у меня и одна секунда не проходит как панель исчезает
0
14.08.2017, 15:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.08.2017, 15:40
Помогаю со студенческими работами здесь

Как изменить место появления SnackBar
Есть рекламный баннер внизу экрана. И есть всплывающий SnackBar. При появление SnackBar...

Выкидывает из аськи, пропадает соединение со стимом, полностью пропадает инет
У меня проблемка такая с соеденением к интернету, не знаю что делать... Вообщем комп работает...

При входе в игру пропадает изображение потом появляется и пропадает
Купил новый монитор, сначала подключил через переходник HDMI&gt;&gt;VGA. Всё работало хорошо, пошёл за...

Периодически пропадает USB и пропадает курсор мыши
Добрый день Не так давно установил Виндоус 8. Периодически появляется проблема, вероятно,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru