Home News

10 полезных скриптов JavaScript

06.05.2017

видео 10 полезных скриптов JavaScript

Дайджест Программиста №1 - 15 Крутых JavaScript и CSS Библиотек

JavaScript развивается с огромной скоростью. Большая волна новых технологий накрывает камни громоздких задач, которые еще вчера казались неприступными и угрожающими.



В данном уроке мы приводим 10 полезных скриптов, которые помогут вам сохранить время при решении общих задач. Большинство из приведенных скриптов можно просто скопировать в свой проект, но лучше проделать аналитическую работу, чтобы адаптировать код наилучшим образом.

 

1. Максимальная высота или ширина в наборе элементов

Очень полезный скрипт для выравнивания высоты или ширины колонок.


Обзор полезных бесплатных скриптов для сайта

Вариант для высоты:

var getMaxHeight = function ($elms) { var maxHeight = 0; $elms.each(function () { // В некоторых случаях можно использовать outerHeight() var height = $(this).height(); if (height > maxHeight) { maxHeight = height; } }); return maxHeight; };

Использование:

$(elements).height( getMaxHeight($(elements)) );

Чтобы использовать скрипт для ширины нужно заменить все включения height и Height на width и Width соответственно.


CodePen ресурс с множеством потрясающих скриптов

Демонстрация использования кода

 

2. Эффективная проверка дат

Инструментарий JavaScript для работы с датами очень прост и не достаточен для форматирования дат. Хотя существует множество библиотек которые существенно облегчают обработку дат, часто нужно просто проверять дату в строке. Для такого случая отлично подходит следующий скрипт. Он позволяет проверить дату с любым разделителем и годом, указанным 4-мя цифрами.

function isValidDate(value, userFormat) { // Используем формат по умолчанию, если ничего не указано userFormat = userFormat || 'mm/dd/yyyy'; // Находим разделитель исключая символы месяца, дня и года (в английском варианте - m, d, y) var delimiter = /[^mdy]/.exec(userFormat)[0]; // Создаем массив из месяца, дня и года, // то есть мы знаем порядок формата var theFormat = userFormat.split(delimiter); // Создаем массив из даты пользователя var theDate = value.split(delimiter); function isDate(date, format) { var m, d, y, i = 0, len = format.length, f; for (i; i < len; i++) { f = format[i]; if (/m/.test(f)) m = date[i]; if (/d/.test(f)) d = date[i]; if (/y/.test(f)) y = date[i]; } return ( m > 0 && m < 13 && y && y.length === 4 && d > 0 && // Проверяем правильность дня месяца d <= (new Date(y, m, 0)).getDate() ); } return isDate(theDate, theFormat); }

Использование:

Следующая строка вернет false, так как в ноябре 30 дней:

rss