Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Alpine.js — лёгкая Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° jQuery

Π― Π΄Π°Π²Π½ΠΎ ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡΡŒ ΠΊ Alpine.js, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ этот js-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ выдСляСтся ΠΈΠ· ряда Π΄Ρ€ΡƒΠ³ΠΈΡ…. По своСй сути ΠΎΠ½ ΠΎΡ‡Π΅Π½ΡŒ Π±Π»ΠΈΠ·ΠΎΠΊ ΠΊ Vue.js, Π½ΠΎ ΠΏΡ€ΠΈ этом ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹ΠΉ jQuery.

Основной массС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² просто Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ всС Ρ‚Π΅ Β«Ρ„ΠΈΡˆΠΊΠΈΒ», Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ React ΠΈΠ»ΠΈ Vue. Π’ΠΎΠΎΠ±Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚Π° с JavaScript всСгда происходит ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ β€” Π²Π½Π°Ρ‡Π°Π»Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ элСмСнт/элСмСнты Π½Π° страницС, послС Π΄Π΅Π»Π°Π΅ΠΌ с Π½ΠΈΠΌΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ манипуляции.

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ систСма событий β€” прописали Π»ΠΈΠ±ΠΎ onclick ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ html-элСмСнту, Π»ΠΈΠ±ΠΎ навСсили событиС Ρ‡Π΅Ρ€Π΅Π· Β«ΡΠ»ΡƒΡˆΠ°Ρ‚Π΅Π»ΡŒΒ» addEventListener ΠΈ дальшС Ρ‡Π΅Ρ€Π΅Π· js-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π΄Π΅Π»Π°Π΅ΠΌ Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ JavaScript ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠΆ многословСн, Π° Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях ΠΈ Π½Π΅ΠΎΡ‡Π΅Π²ΠΈΠ΄Π΅Π½, Ρ‚ΠΎ ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ β€” jQuery ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΎΠ΄Π½Π° ΠΈΠ· Π½ΠΈΡ…. Π‘ ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с js Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ приятнСй.

Но соврСмСнныС js-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΠΏΠΎΠΌΠΈΠΌΠΎ своих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, основанный Π½Π° синтаксичСском «сахарС» β€” ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ смысла Π²Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°.

Π’Π°ΠΊΠΎΠΉ синтаксис Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅ Π΄Π°ΠΆΠ΅ ΡƒΠ΄ΠΎΠ±Π½Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ jQuery (ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²).

Π—Π° это приходится Ρ€Π°ΡΠΏΠ»Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ. ОсновноС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ β€” Ρ‚Π°ΠΊΠΈΠ΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ для своСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ Node.js, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ исходный ΠΊΠΎΠ΄ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ JavaScript, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€. Π”Π°, Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ сборки Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ React ΠΈΠ»ΠΈ Vue, Π½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΡ… js-Ρ„Π°ΠΉΠ»ΠΎΠ² достаточно большой: 120 ΠΈ 93Кб. Π”Π°ΠΆΠ΅ jQuery 3.5 вСсит мСньшС β€” 89Кб. Если ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ Π½Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ (Π° js-ΠΊΠΎΠ΄ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ Π²Π°ΠΆΠ΅Π½ для Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°), Ρ‚ΠΎ Π½Π΅Ρ‚ смысла ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Vue. И это ΠΏΡ€ΠΈ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² Ρ‚Π°ΠΊΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ ΠΌΡ‹ лишаСмся всСх «плюшСк» синтаксичСского «сахара».

ИспользованиС Node.js Ρ‚ΠΎΠΆΠ΅ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла, Ссли Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ простыС Π²Π΅Ρ‰ΠΈ, Π²Ρ€ΠΎΠ΄Π΅ ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ css-класс ΠΈΠ»ΠΈ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ click Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅. Π‘Ρ‚Π°Π²ΠΈΡ‚ΡŒ Ρ€Π°Π΄ΠΈ этого гигантский Node.js Π½Π΅Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ.

Alpine.js выдСляСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ нСбольшиС Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ (всСго 25Кб), Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ компиляции, Π½ΠΎ ΠΏΡ€ΠΈ этом ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ синтаксичСский «сахар» ΠΊΠ°ΠΊ ΠΈ «большиС» Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ.

Π’Π°ΠΆΠ½ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Alpine.js ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π² ΠΊΠΎΠ½Ρ†Π΅ BODY, Ρ‡Ρ‚ΠΎ Π΄Π°Ρ‘Ρ‚ прирост скорости страницы. Если jQuery (ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈ) ΠΌΡ‹ Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Ρ‹ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π² ΡΠ΅ΠΊΡ†ΠΈΡŽ HEAD (ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² Ρ‚Π΅Π»Π΅ страницы ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒΡΡ Π΅Ρ‘ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ), Ρ‚ΠΎ с Alpine.js ΠΌΡ‹ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ задумываСмся ΠΎΠ± этом. Достаточно ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ js-Ρ„Π°ΠΉΠ»:

<script src="https://cdn.jsdelivr.net/gh/alpinejs/[email protected]/dist/alpine.min.js"></script>

ПослС этого Π½Π° страницС ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ возмоТности Alpine.

Π—Π΄Π΅ΡΡŒ я Ρ…ΠΎΡ‡Ρƒ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ сущСствСнноС ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с jQuery ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ JS.

НапримСр Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ click Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ элСмСнтС. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΡ‹ прописываСм css-класс ΠΈΠ»ΠΈ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ id ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ цСпляСмся ΠΊ Π½Π΅ΠΌΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ события onclick, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ прописываСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ.

Π’ Alpine схСма заимствованна ΠΈΠ· Β«Π±ΠΎΠ»ΡŒΡˆΠΈΡ…Β» Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² (Π² основном β€” ΠΈΠ· Vue), Π³Π΄Π΅ примСняСтся ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. Π’ Π½Ρ‘ΠΌ ΠΌΡ‹ объявляСм, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ элСмСнт, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ DIV Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ, ΠΈΠ»ΠΈ Π² соврСмСнных Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… β€” Π΅ΠΌΡƒ добавляСтся Β«Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒΒ».

Π’Π°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой Π΅Π΄ΠΈΠ½ΡƒΡŽ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ: со своими Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ.

<div x-data>
	содСрТимоС	
</div>

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° x-data β€” это Ρ‚Π° самая инструкция, которая ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Alpine Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ рСактивности Π² Π΄Π°Π½Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊ. Всё, Ρ‡Ρ‚ΠΎ окаТСтся Π²Π½ΡƒΡ‚Ρ€ΠΈ β€” ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой Π΅Π΄ΠΈΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚.

Π’ Alpine всСго 14 Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² ΠΈ всС ΠΎΠ½ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с прСфикса

x-. Основная x-data Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° сам ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Π½ΠΎ ΠΈ позволяСт сразу ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅.

<div x-data="{t: false}">
	содСрТимоС
</div>

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π±ΡƒΠ΄Π΅Ρ‚ создана пСрСмСнная t со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ false. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ js-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Ρ‚ΠΎ Π² Π½Ρ‘ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ (ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая ΠΈΡ… Π²Π΅Ρ€Π½Ρ‘Ρ‚).

Π’Π΅ΠΏΠ΅Ρ€ΡŒ сдСлаСм простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ событиС onclick ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠ΅Π½ΡΡ‚ΡŒ css-класс (аля-toggle).

<div x-data="{t: false}">
	<div x-on:click="t = !t" x-bind:class="{ 't-red': t }">Toggle class click</div>
</div>

Toggle class click

Π’

x-data ΠΌΡ‹ создаём ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, которая Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС элСмСнта. Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° x-on:click отслСТиваСт событиС onclick, Π³Π΄Π΅ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… указываСтся js-ΠΊΠΎΠ΄ β€” ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ-Π±Ρ‹ это обычная js-функция. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΌΡ‹ ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ t.

Π”Π°Π»ΡŒΡˆΠ΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ x-bind, которая связываСт Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ тэга (здСсь это class) с логичСскими выраТСниями. ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ css-класс t-red добавится ΠΊ этому элСмСнту Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, Ссли t Π±ΡƒΠ΄Π΅Ρ‚ истинно (true).

ΠœΡ‹ ΠΊΠ»ΠΈΠΊΠ°Π΅ΠΌ Π½Π° элСмСнтС, мСняСтся пСрСмСнная

t, которая влияСт Π½Π° bind-связку ΠΈ css-класс Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΎΠΌ добавляСтся. Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ»ΠΈΠΊ ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ t ΠΈ класс удаляСтся.

Π­Ρ‚ΠΎΡ‚ ΠΆΠ΅ самый ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΏΡ€ΠΎΡ‰Π΅:

<div x-data="{t: false}">
	<div @click="t = !t" :class="{ 't-red': t }">Toogle class click</div>
</div>

Π’ΠΎ Π΅ΡΡ‚ΡŒ @ замСняСтся Π½Π° x-on:, Π° : Π½Π° x-bind:.

МоТно Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Π±Π»ΠΎΠΊ, Ссли это ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹ΠΉ элСмСнт:

<div x-data="{t: false}" @click="t = !t" :class="{'t-red': t}">Toogle class click</div>

ΠŸΠΎΡ…ΠΎΠΆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ отслСТиваСм событиС аля-hover:

<div x-data="{t: false}">
	<div @mouseover="t = true" @mouseout="t = false" :class="{'t-red': t}">Toogle class hover</div>
</div>

Toogle class hover

Π­Ρ‚ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° Ρ‚ΠΎ с Ρ‡Π΅ΠΌ ΠΌΡ‹ постоянно сталкиваСмся Π² jQuery: ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ css-класс ΠΏΡ€ΠΈ ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ событии.

Рассмотрим Π΅Ρ‰Ρ‘ ΠΏΠ°Ρ€Ρƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ². Π­Ρ‚ΠΎΡ‚ ΠΌΠ½Π΅ особСнно нравится:

<div x-data="{ open: false }">
    <button @click="open = true">Open</button>
    
    <div x-show="open" @click.away="open = false" x-cloak>
    	Content
    </div>
</div>

Content

Π­Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ dropdown, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ раскрываСт Π±Π»ΠΎΠΊ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΏΠΎ ΠΊΠ»ΠΈΠΊΡƒ. Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ классы Berry CSS, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сСмантичСски понятны.

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ опрСдСляСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ open, которая Ρ…Ρ€Π°Π½ΠΈΡ‚ состояниС Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° (скрыт/ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚). Π£ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° x-show, которая содСрТит js-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Если это false, Ρ‚ΠΎ x-show скроСт Π±Π»ΠΎΠΊ Ρ‡Π΅Ρ€Π΅Π· display: none. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠ»ΠΈΠΊΠ½ΡƒΠ² Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΌΡ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π±Π»ΠΎΠΊ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ open.

Π£ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Π΅ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° @click.away, которая ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΊΠ»ΠΈΠΊ, Π½ΠΎ Π²Π½Π΅ этого Π±Π»ΠΎΠΊΠ°. ИмСнно поэтому, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΊΠ»ΠΈΠΊΠ°Π΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΈΠ»ΠΈ Π»ΡŽΠ±ΡƒΡŽ Π΄Ρ€ΡƒΠ³ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ страницы, пСрСмСнная

open становится false ΠΈ Π±Π»ΠΎΠΊ скрываСтся.

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° x-cloak, Π° Ρ‚ΠΎΡ‡Π½Π΅Π΅ это Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ тэга, особСнная. Π•Ρ‘ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΡ‡Π΅Π·Π½ΡƒΡ‚ΡŒ ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Alpine Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½. Бмысл Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ js-Ρ„Π°ΠΉΠ» Alpine ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ дольшС, Ρ‡Π΅ΠΌ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π½Π°Ρ‡Π½Ρ‘Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ страницу, Π° Π·Π½Π°Ρ‡ΠΈΡ‚ Π±Π»ΠΎΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ скрыты β€” Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹. И ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сработаСт Alpine ΠΎΠ½ΠΈ ΡƒΠΆΠ΅ отобразятся ΠΊΠ°ΠΊ Π·Π°Π΄ΡƒΠΌΠ°Π½ΠΎ. Π’ΠΎΡ‚ эта Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ нСприятному «мСльканию». ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для Ρ‚Π°ΠΊΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ² достаточно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ x-cloak

, Π° Π² css-стилях ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ:

<style>
	[x-cloak] {display: none;}
</style>

Пока Alpine Π½Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π°, Π±Π»ΠΎΠΊ Π±ΡƒΠ΄Π΅Ρ‚ скрыт. ΠŸΡ€ΠΈ этом Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ Π΅Ρ‰Ρ‘ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с dropdown ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ для мСню, ΠΈ для ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΊΠΎΠ½. ΠœΡ‹ ΠΏΠΎ сути Π½Π΅ написали Π½ΠΈ строчки js-ΠΊΠΎΠ΄Π°, Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΏΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π­Ρ‚ΠΎ Π½Π΅ сравнится Π½ΠΈ с jQuery, Π½ΠΈ с Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ JS.

Ну ΠΈ послСдний ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” Ρ‚Π°Π±Ρ‹.

<div x-data="{ tab: 'foo' }">
    <button :class="{ 'bg-blue': tab === 'foo' }" @click="tab = 'foo'">Foo</button>
    <button :class="{ 'bg-blue': tab === 'bar' }" @click="tab = 'bar'">Bar</button>
 
	<div>
    	<div x-show="tab === 'foo'">Π’ΠΊΠ»Π°Π΄ΠΊΠ° Foo</div>
    	<div x-show="tab === 'bar'" x-cloak>Π’ΠΊΠ»Π°Π΄ΠΊΠ° Bar</div>
    </div>
</div>

Π’ΠΊΠ»Π°Π΄ΠΊΠ° Foo

Π’ΠΊΠ»Π°Π΄ΠΊΠ° Bar

Если Π²Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΄Π΅Π»Π°Π»ΠΈ свои Ρ‚Π°Π±Ρ‹, Ρ‚ΠΎ ΠΏΠΎΠΉΠΌΡ‘Ρ‚Π΅ насколько ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΌ ΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ получился этот ΠΊΠΎΠ΄. МнС каТСтся, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ простой Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ Π½Π΅ сущСствуСт…

Π§Ρ‚ΠΎ Π² ΠΈΡ‚ΠΎΠ³Π΅? Для мСня Alpine.js β€” настоящая Π½Π°Ρ…ΠΎΠ΄ΠΊΠ°, которая Π΄ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ js-ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π² html-ΠΊΠΎΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ просто ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ. ΠŸΡ€ΠΈ этом возмоТности Alpine Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ большС β€” ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ… рассчитаны Π½Π° ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… js-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Но ΠΈ для ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… вСбмастСров, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ простыС Π·Π°Π΄Π°Ρ‡ΠΈ, Alpine.js ΠΌΠΎΠΆΠ΅Ρ‚ пригодится ΠΊΠ°ΠΊ лёгкая Π·Π°ΠΌΠ΅Π½Π° jQuery.

Π Π°Π±ΠΎΡ‚Π° с Ajax Π² Alpine.js

Админ-панСль для Albireo

ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² jQuery: addClass() | ΠšΠ°Ρ€ΡŒΠ΅Ρ€Π° ΠšΠ°Ρ€ΠΌΠ°

Π Π°ΠΉΠ°Π½ ΠœΠ°Π½Ρ‡Π΅ΡΡ‚Π΅Ρ€ — 20 ноября 2020 Π³.


jQuery Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΠΊΠ»Π°ΡΡ() Π΄Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ элСмСнты Π±ΠΎΠ»Π΅Π΅ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Как слСдуСт ΠΈΠ· названия ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ класса ΠΊ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌΡƒ элСмСнту. Π—Π°Ρ‡Π΅ΠΌ Π½Π°ΠΌ это Π΄Π΅Π»Π°Ρ‚ΡŒ?

Π”Π°Π²Π°ΠΉΡ‚Π΅ возьмСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Π΅Π±-страницы, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ элСмСнты, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, Π°Π±Π·Π°Ρ† ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ°, ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ происходит. Наряду с этой страницСй Π΅ΡΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Π° стилСй, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ имя класса этих элСмСнтов для ΠΈΡ… стилизации. ПослС наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΡ‚ΠΈΠ»ΡŒ ΠΈΠ»ΠΈ внСшний Π²ΠΈΠ΄.

ΠœΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΠΊΠ»Π°ΡΡ() ΠΌΠ΅Ρ‚ΠΎΠ΄ для вставки Π½ΠΎΠ²ΠΎΠ³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° стиля для ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ содСрТимого послС наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΡ‚ΠΈΠ»ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ содСрТимого, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строку ΠΊΠΎΠ΄Π°. Π­Ρ‚ΠΎ позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎΠ± ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ элСмСнтами Π² стилС.

НайдитС свой ΠΌΠ°Ρ‚Ρ‡ для Π±ΡƒΡ‚ΠΊΠ΅ΠΌΠΏΠ°

  • Career Karma ΠΏΠΎΠ΄Π±Π΅Ρ€Π΅Ρ‚ для вас Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΡƒΡ‡Π΅Π±Π½Ρ‹Π΅ курсы ΠΏΠΎ тСхнологиям
  • ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ доступ ΠΊ ΡΠΊΡΠΊΠ»ΡŽΠ·ΠΈΠ²Π½Ρ‹ΠΌ стипСндиям ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ курсам
Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ свой интСрСс
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ инТСнСрия Π”ΠΈΠ·Π°ΠΉΠ½ Наука ΠΎ Π΄Π°Π½Π½Ρ‹Ρ… Аналитика Π΄Π°Π½Π½Ρ‹Ρ… Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Π°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Имя

Ѐамилия

ЭлСктронная ΠΏΠΎΡ‡Ρ‚Π°

НомСр Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ, Π²Ρ‹ ΡΠΎΠ³Π»Π°ΡˆΠ°Π΅Ρ‚Π΅ΡΡŒ с нашими Условия использования ΠΈ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ , ΠΈ Π²Ρ‹ ΡΠΎΠ³Π»Π°ΡˆΠ°Π΅Ρ‚Π΅ΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ прСдлоТСния ΠΈ возмоТности ΠΎΡ‚ Career Karma ΠΏΠΎ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρƒ, тСкстовым сообщСниям ΠΈ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅.

Π”Π°Π²Π°ΠΉΡ‚Π΅ углубимся Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈ посмотрим, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΅Π³ΠΎ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ jQuery addClass()

Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ мСняСм Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ класса ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ этому ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ ΠΊΠΎΠ΄Π°, Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΠΊΠ»Π°ΡΡ() Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ нас Π΅ΡΡ‚ΡŒ этот HTML:

 <Π³ΠΎΠ»ΠΎΠ²Π°>
  <ΠΌΠ΅Ρ‚Π°-ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°="utf-8">
  дСмонстрация addClass
  <ΡΡ‚ΠΈΠ»ΡŒ>
  ΠΏ {
    ΠΏΠΎΠ»Π΅: 8px;
    Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡˆΡ€ΠΈΡ„Ρ‚Π°: 16px;
  }
  .Π²Ρ‹Π±Ρ€Π°Π½ {
    Ρ†Π²Π΅Ρ‚ синий;
  }
  .Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ {
    Ρ„ΠΎΠ½: ΠΆΠ΅Π»Ρ‚Ρ‹ΠΉ;
  }
    
<Ρ‚Π΅Π»ΠΎ>
 

ЗдравствуйтС

ΠΈ

Π”ΠΎ свидания

ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ