fadeIn и fadeOut
Здравствуйте.
Есть js скрипт, который выводить всплывающие уведомления. Но текст появляется и исчезает резко. Хотелось бы чтобы текст плавно появлялся и исчезал. Вот и сам код: <script> window.addEventListener("DOMContentLoaded", function() { function d() { b = a[c]; c = ++c % g; b.classList.add("show"); e = window.setTimeout(f, 5E3) } function f() { window.clearTimeout(e); b.classList.remove("show"); window.setTimeout(d, 5E3) } var a = document.querySelectorAll(".parent_popup"), e, b, a = [].slice.call(a, 0), c = 0, g = a.length; a.forEach(function(a) { a.querySelector(".close").addEventListener("click", function(a) { a.preventDefault(); f() }) }); window.setTimeout(d, 5E3) }); </script> Вы можете изменить код таким образом, что текст появлялся и исчезал плавно? Я меняла show и close на fadeIn и fadeOut, но скрипт перестал работать. Заранее спасибо. |
zulyamodx,
Можно сделать плавное скрытие на css: .parent_popup{ opacity:0; visibility:hidden; transition:.5s ease; display:block; } .parent_popup.show { opacity:1; visibility:visible; } |
Alex_63,
Спасибо, что ответили. Но у меня почти не изменилось резкое появление и исчезновение. А хотелось бы чтобы чтобы плавно, а не сразу исчезал и появлялся. |
zulyamodx,
Пробуйте увеличивать значение transition И да, - для .parent_popup не должно быть прописано display:none (Иначе скроется сразу и эффекта упрозрачнивания не будет Ну или дайте полный код, который тестируете (с HTML и CSS) |
Да.. - Если jQuery подключен, тогда можно сделать так:
window.addEventListener("DOMContentLoaded", function() { function d() { b = a[c]; c = ++c % g; $(b).addClass("show").fadeIn(600); e = window.setTimeout(f, 5E3) } function f() { window.clearTimeout(e); $(b).removeClass("show").fadeOut(600); window.setTimeout(d, 5E3) } var a = document.querySelectorAll(".parent_popup"), e, b, a = [].slice.call(a, 0), c = 0, g = a.length; a.forEach(function(a) { a.querySelector(".close").addEventListener("click", function(a) { a.preventDefault(); f() }) }); window.setTimeout(d, 5E3) }); |
Alex_63,
Спасибо большое за помощь! Сейчас попробую так сделать. |
У меня сейчас текст плавно появляется, но резко исчезает.
Пробовала также увеличивать значение transition. Но исчезает резко. Может нужно было только js код менять на ваш или вместе с css? |
zulyamodx,
В коде пост 5 строках 5 и 11 не нужно add и remove - достаточно fadeIn и fadeOut |
Dilettante_Pro,
Здравствуйте. То есть, вот так нужно?: window.addEventListener("DOMContentLoaded", function() { function d() { b = a[c]; c = ++c % g; $(b).fadeIn(600); e = window.setTimeout(f, 5E3) } function f() { window.clearTimeout(e); $(b).fadeOut(600); window.setTimeout(d, 5E3) } var a = document.querySelectorAll(".parent_popup"), e, b, a = [].slice.call(a, 0), c = 0, g = a.length; a.forEach(function(a) { a.querySelector(".close").addEventListener("click", function(a) { a.preventDefault(); f() }) }); window.setTimeout(d, 5E3) }); Спасибо! |
Часовой пояс GMT +3, время: 01:37. |