Π‘Ρ‚Π°Ρ‚ΡŒΡ

πŸ“˜ Π£Ρ€ΠΎΠΊ 12: jQuery UI β€” Ρ‡Ρ‚ΠΎ это, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, основныС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ ΠΈ эффСкты

ЦСль: ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с jQuery UI — ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² ΠΈ эффСктов для jQuery, Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹.


πŸ”Ή Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ jQuery UI?

jQuery UI — Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ для jQuery, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅:

  • Π“ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ (ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€ΡŒ, Π²ΠΊΠ»Π°Π΄ΠΊΠΈ, Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ ΠΎΠΊΠ½Π°)

  • АнимационныС эффСкты (ΠΏΠ»Π°Π²Π½ΠΎΠ΅ появлСниС, ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅)

  • Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ drag-and-drop (пСрСтаскиваниС элСмСнтов)

  • Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ (слайдСры, прогрСсс-Π±Π°Ρ€Ρ‹)

Π­Ρ‚ΠΎ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π½Π°Π±ΠΎΡ€, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ быстро ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ интСрфСйсы с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.


πŸ”Έ ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ jQuery UI

  1. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈ jQuery:
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
  1. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈ jQuery UI CSS ΠΈ JS (CDN):
<link rel="stylesheet" href="https://code.jquery.com/ui/1.13.2/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/ui/1.13.2/jquery-ui.min.js"></script>

πŸ”Έ ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ jQuery UI

1. Datepicker — ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€ΡŒ Π²Ρ‹Π±ΠΎΡ€Π° Π΄Π°Ρ‚Ρ‹

<input type="text" id="datepicker">
<script>
  $('#datepicker').datepicker();
</script>

2. Tabs — Π²ΠΊΠ»Π°Π΄ΠΊΠΈ

<div id="tabs">
  <ul>
    <li><a href="#tab-1">Π’ΠΊΠ»Π°Π΄ΠΊΠ° 1</a></li>
    <li><a href="#tab-2">Π’ΠΊΠ»Π°Π΄ΠΊΠ° 2</a></li>
  </ul>
  <div id="tab-1">ΠšΠΎΠ½Ρ‚Π΅Π½Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ</div>
  <div id="tab-2">ΠšΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ</div>
</div>

<script>
  $('#tabs').tabs();
</script>

3. Dialog — модальноС ΠΎΠΊΠ½ΠΎ

<div id="dialog" title="ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠΊΠ½Π°" style="display:none;">
  <p>Π­Ρ‚ΠΎ содСрТимоС Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°</p>
</div>

<button id="openDialog">ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ</button>

<script>
  $('#dialog').dialog({ autoOpen: false });
  $('#openDialog').click(function() {
    $('#dialog').dialog('open');
  });
</script>

4. Slider — ΠΏΠΎΠ»Π·ΡƒΠ½ΠΎΠΊ

<div id="slider"></div>
<script>
  $('#slider').slider({
    min: 0,
    max: 100,
    value: 50,
    slide: function(event, ui) {
      console.log('Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: ' + ui.value);
    }
  });
</script>

5. Progressbar — ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

<div id="progressbar"></div>
<script>
  $('#progressbar').progressbar({ value: 70 });
</script>

πŸ”Έ Π­Ρ„Ρ„Π΅ΠΊΡ‚Ρ‹ jQuery UI

jQuery UI добавляСт ΠΌΠ½ΠΎΠ³ΠΎ эффСктов ΠΊ jQuery, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

  • effect('bounce') — ΠΏΡ€Ρ‹ΠΆΠΎΠΊ

  • effect('shake') — тряска

  • effect('explode') — Ρ€Π°Π·Π»Ρ‘Ρ‚ ΠΏΠΎ частям

  • effect('slide') — сдвиг

  • effect('fade') — ΠΏΠ»Π°Π²Π½ΠΎΠ΅ появлСниС/исчСзновСниС

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

$('#box').effect('bounce', { times: 3 }, 300);

πŸ”Έ Drag & Drop

ΠŸΠ΅Ρ€Π΅Ρ‚Π°ΡΠΊΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ элСмСнт

$('#drag').draggable();

Π—ΠΎΠ½Π° для сброса

$('#drop').droppable({
  drop: function(event, ui) {
    alert('Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΡΠ±Ρ€ΠΎΡˆΠ΅Π½!');
  }
});

πŸ”Έ Настройка Ρ‚Π΅ΠΌ ΠΈ стилСй

jQuery UI ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚Π΅ΠΌΡ‹. МоТно Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ Ρ‚Π΅ΠΌΡƒ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свою Π½Π° https://jqueryui.com/themeroller/ .


πŸ“‹ ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ задания

  1. Π”ΠΎΠ±Π°Π²ΡŒ ΠΊ Ρ„ΠΎΡ€ΠΌΠ΅ ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€ΡŒ Π²Ρ‹Π±ΠΎΡ€Π° Π΄Π°Ρ‚Ρ‹.

  2. Π‘Π΄Π΅Π»Π°ΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ с ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ для сайта.

  3. Π Π΅Π°Π»ΠΈΠ·ΡƒΠΉ модальноС ΠΎΠΊΠ½ΠΎ с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ.

  4. Π‘ΠΎΠ·Π΄Π°ΠΉ ΠΏΠΎΠ»Π·ΡƒΠ½ΠΎΠΊ для Π²Ρ‹Π±ΠΎΡ€Π° значСния.

  5. Π‘Π΄Π΅Π»Π°ΠΉ пСрСтаскиваСмый элСмСнт ΠΈ Π·ΠΎΠ½Ρƒ сброса.


❗ ЧастыС ошибки

❌ НС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ jQuery UI CSS

Π’ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π±Π΅Π· стилСй.


❌ ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ вСрсий jQuery ΠΈ jQuery UI

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ совмСстимыС вСрсии.


πŸ“Œ Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

jQuery UI — ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ инструмСнт для создания ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈ эффСктов. Он ускоряСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ приятныС интСрфСйсы с ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠΎΠΌ ΠΊΠΎΠ΄Π°.

Для ΠΎΡ‚Π²Π΅Ρ‚Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ