From 4821f970884612bff74e8049999514aefeb64081 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=93=D0=BB=D0=B0=D0=B2=D1=80=D0=B5=D0=B4=20=7C=20Glavred?= Date: Wed, 28 Oct 2020 15:41:00 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BE=D1=82=20=D0=93=D0=BB=D0=B0=D0=B2=D1=80?= =?UTF-8?q?=D0=B5=D0=B4=D0=B0=20=D0=93=D0=B8=D1=82=D0=96=D0=A1=20|=20Chang?= =?UTF-8?q?es=20of=20GitJS=20Glavred?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...·ΠΈΡ‚ΡŒ-ΡΠΊΡ€Ρ‹Ρ‚ΡŒ|smoothly-show-hide.js | 63 +++++++++++-------- 1 file changed, 38 insertions(+), 25 deletions(-) diff --git a/ΠΏΠ»Π°Π²Π½ΠΎ-ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ-ΡΠΊΡ€Ρ‹Ρ‚ΡŒ|smoothly-show-hide.js b/ΠΏΠ»Π°Π²Π½ΠΎ-ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ-ΡΠΊΡ€Ρ‹Ρ‚ΡŒ|smoothly-show-hide.js index 3f29bfe..40546f2 100644 --- a/ΠΏΠ»Π°Π²Π½ΠΎ-ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ-ΡΠΊΡ€Ρ‹Ρ‚ΡŒ|smoothly-show-hide.js +++ b/ΠΏΠ»Π°Π²Π½ΠΎ-ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ-ΡΠΊΡ€Ρ‹Ρ‚ΡŒ|smoothly-show-hide.js @@ -1,13 +1,5 @@ -ΠŸΠ»Π°Π²Π½ΠΎΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒΠ‘ΠΊΡ€Ρ‹Ρ‚ΡŒ = function(элСмСнт, настройки) +ΠŸΠ»Π°Π²Π½ΠΎΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒΠ‘ΠΊΡ€Ρ‹Ρ‚ΡŒ = function(элСмСнт, настройки = null) { - if (!настройки) - { - настройки = { - "ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ": 1, - "ΠΎΡ‚ΠΊΠ»ΠΈΠΊ": {}, - }; - } - this.ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ = () => { this.ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ = true; @@ -18,6 +10,7 @@ opacity: 0; animation: ${элСмСнт.id}ΠŸΠ»Π°Π²Π½ΠΎΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ 0.4s ease; animation-fill-mode: forwards; + animation-delay: ${this.настройки.Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°}s; } `; }; @@ -28,13 +21,38 @@ this.прСобразования.innerHTML = ` #${элСмСнт.id} { - opacity: ${настройки.ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ}; + opacity: ${this.настройки.ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ}; animation: ${элСмСнт.id}ΠŸΠ»Π°Π²Π½ΠΎΠ‘ΠΊΡ€Ρ‹Ρ‚ΡŒ 0.4s ease; animation-fill-mode: forwards; + animation-delay: ${this.настройки.Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°}s; } `; }; + this.__Π·Π°Π΄Π°Ρ‚ΡŒΠΠ°ΡΡ‚Ρ€ΠΎΠΉΠΊΠΈΠŸΠΎΠ£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ = () => + { + var ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅ = { + "Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°": 0, + "ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ": 1, + "ΠΎΡ‚ΠΊΠ»ΠΈΠΊ": {}, + }; + if (!настройки) + { + this.настройки = ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅; + } + else + { + this.настройки = настройки; + } + for (var ΠΊΠ»ΡŽΡ‡ in ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅) + { + if (!(ΠΊΠ»ΡŽΡ‡ in this.настройки)) + { + this.настройки[ΠΊΠ»ΡŽΡ‡] = ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅[ΠΊΠ»ΡŽΡ‡]; + } + } + }; + this.__ΡΠΎΠ·Π΄Π°Ρ‚ΡŒΠšΠ°Π΄Ρ€Ρ‹ = () => { this.ΠΊΠ°Π΄Ρ€Ρ‹ = document.createElement("style"); @@ -48,14 +66,14 @@ } 100% { - opacity: ${настройки.ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ}; + opacity: ${this.настройки.ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ}; } } @keyframes ${элСмСнт.id}ΠŸΠ»Π°Π²Π½ΠΎΠ‘ΠΊΡ€Ρ‹Ρ‚ΡŒ { 0% { - opacity: ${настройки.ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ}; + opacity: ${this.настройки.ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ}; } 100% { @@ -79,16 +97,16 @@ "animationend", function() { - if (Ρ‚ΡƒΡ‚.ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ && настройки.ΠΎΡ‚ΠΊΠ»ΠΈΠΊ && настройки.ΠΎΡ‚ΠΊΠ»ΠΈΠΊ.ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅) + if (Ρ‚ΡƒΡ‚.ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ && Ρ‚ΡƒΡ‚.настройки.ΠΎΡ‚ΠΊΠ»ΠΈΠΊ.ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅) { - настройки.ΠΎΡ‚ΠΊΠ»ΠΈΠΊ.ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅(); + Ρ‚ΡƒΡ‚.настройки.ΠΎΡ‚ΠΊΠ»ΠΈΠΊ.ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅(); } else if (!Ρ‚ΡƒΡ‚.ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ) { элСмСнт.style.display = "none"; - if (настройки.ΠΎΡ‚ΠΊΠ»ΠΈΠΊ && настройки.ΠΎΡ‚ΠΊΠ»ΠΈΠΊ.скрытиС) + if (Ρ‚ΡƒΡ‚.настройки.ΠΎΡ‚ΠΊΠ»ΠΈΠΊ.скрытиС) { - настройки.ΠΎΡ‚ΠΊΠ»ΠΈΠΊ.скрытиС(); + Ρ‚ΡƒΡ‚.настройки.ΠΎΡ‚ΠΊΠ»ΠΈΠΊ.скрытиС(); } } } @@ -96,6 +114,7 @@ }; // ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€. + this.__Π·Π°Π΄Π°Ρ‚ΡŒΠΠ°ΡΡ‚Ρ€ΠΎΠΉΠΊΠΈΠŸΠΎΠ£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ(); this.__ΡΠΎΠ·Π΄Π°Ρ‚ΡŒΠšΠ°Π΄Ρ€Ρ‹(); this.__ΡΠΎΠ·Π΄Π°Ρ‚ΡŒΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡ(); this.__ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒΠ—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ΠΠ½ΠΈΠΌΠ°Ρ†ΠΈΠΈ(); @@ -106,18 +125,12 @@ // εΈΈη”¨ηš„ε•ηΊΏε˜εž‹ // Frequently used single line variants. -ΠΏΠ»Π°Π²Π½ΠΎΠ‘ΠΊΡ€Ρ‹Ρ‚ΡŒΠ˜Π£Π΄Π°Π»ΠΈΡ‚ΡŒ = id => +ΠΏΠ»Π°Π²Π½ΠΎΠ‘ΠΊΡ€Ρ‹Ρ‚ΡŒΠ˜Π£Π΄Π°Π»ΠΈΡ‚ΡŒ = (id, настройки = null) => { var элСмСнт = $(`#${id}`); - function ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅() { + var ΠΏΠ»Π°Π²Π½ΠΎ = new ΠŸΠ»Π°Π²Π½ΠΎΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒΠ‘ΠΊΡ€Ρ‹Ρ‚ΡŒ(элСмСнт.get(0), настройки); + ΠΏΠ»Π°Π²Π½ΠΎ.настройки.ΠΎΡ‚ΠΊΠ»ΠΈΠΊ.скрытиС = function() { элСмСнт.remove(); }; - var настройки = { - "ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ": 1, - "ΠΎΡ‚ΠΊΠ»ΠΈΠΊ": { - "скрытиС": ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅, - }, - }; - var ΠΏΠ»Π°Π²Π½ΠΎ = new ΠŸΠ»Π°Π²Π½ΠΎΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒΠ‘ΠΊΡ€Ρ‹Ρ‚ΡŒ(элСмСнт.get(0), настройки); ΠΏΠ»Π°Π²Π½ΠΎ.ΡΠΊΡ€Ρ‹Ρ‚ΡŒ(); }; \ No newline at end of file