О нас
Разработчикам
Заметки
Переводчик
Транслитератор
Сравнить текст
Генератор пароля
Ip и информация
Декодировать JSON
Локация
О нас
Разработчикам
Заметки
Переводчик
Транслитератор
Сравнить текст
Генератор пароля
Ip и информация
Декодировать JSON
Локация
Функции JavaScript JS
us.content
/* * Функция задерживает выполнение скрипта на переданное количество миллисекунд. * milliseconds - время в миллисекундах. */ function sleep(milliseconds) { const date = Date.now() let currentDate = null do { currentDate = Date.now() } while (currentDate - date < milliseconds) } /* * Определяем ближайшее число. * number - передать число. * arr - массив с числами, для сравнения. * small - если надо найти ближайшее число, которое меньше, то передать true */ function getClosestNumber(number, arr, small = false) { if (number && arr) { if (small) { return Math.min(...arr.filter(v => v > number)) } else { return Math.max(...arr.filter(v => v > number)) } } return false } /* * Функция возращает только те ключи из объекта, которые передаются. * obj - объект, в котором нужно удалить не нужные ключи. * validKeys - те ключи, которы нужны в объекте. */ function objectOnlyValidKeys(obj, validKeys) { if (obj && validKeys) { var newObject = {} for (var key in obj) { if (validKeys.includes(key)) { newObject[key] = obj[key] } } return newObject } return false } // Функция сравнит 2 объекта и вернёт true или false function deepEqual(obj1, obj2) { return JSON.stringify(obj1) === JSON.stringify(obj2) } /* * Функция задаёт одинаковую высоту блоков html, передать название класса. * $class - передать название класса без точки. */ function getHeight($class) { const els = document.querySelectorAll('.' + $class) let arr = [] els.forEach(function (el) { arr.push(el.offsetHeight) }) if (arr) { const maxHeight = Math.max(...arr) + 'px'; els.forEach(function (el) { el.style.height = maxHeight }) } } /* * Функция показывает селектор, у которого в css прописано display: none * $selector - передать селектор, к примеру .test */ function showJs($selector) { const els = document.querySelectorAll($selector) if (els[0]) { els.forEach(function (el) { if (el) { el.style.display = 'block' } }) } } // Прокрутить к верху страницы function scrollUp() { if (typeof window === 'undefined') return window.scrollTo(0, 0) // $('html, body').animate({scrollTop: 0}, '400') } // Строку к snake-case function snake(string) { if (string) { return string.replace(/([a-z])([A-Z])/g, "$1-$2") .replace(/\s+/g, '-') .toLowerCase() } return false } // Заменяет в строке все _ на - function _replace(str) { if (str) { return str.replace(/-/g, '_') } return false } /* * Заменить значение в строке. * search - что ищем. * replace - на что меняем. * str - строка. */ function strReplace(search, replace, str) { if (str) { return str.replace(search, replace) } return false } // Первая буква заглавная function ucFirst(str) { if (str) { return str.substr(0,1).toUpperCase() + str.substr(1) } return false } // Функция проверяет объект или массив на пустоту function empty(obj) { for (let key in obj) { return false } return true } // Функция проверки на поддержку браузером картинок Svg function supportsSvg() { return document.implementation.hasFeature('http://www.w3.org/TR/SVG11/feature#Image', '1.1') } /* * Функция для вывода сообщений Bootstrap Alert, вставляет сообщение в <div id="get_alert_js"></div>. * text - текст сообщения. * ms - время показа сообщения в милисекундах, необязательный параметр, по-умолчанию 3 секунды. * alertClass - название цвета Bootstrap окна сообщения, необязательный параметр, по-умолчанию danger. */ function getAlert(text, ms = 3000, alertClass = 'danger') { var el = document.getElementById('get_alert_js'), html = '<div class="container alert alert-' if (el) { html = html + alertClass + '">' + text + '</div>' // Вставляем сообщение в html код на сайте el.innerHTML = html // Удаляем сообщение из html через ms setTimeout(function () { el.innerHTML = '' }, ms) } } // Добавить css /*#get_alert_js { position: fixed; top: 90px; left: 50%; transform: translateX(-50%); z-index: 100; }*/ // Возвращает случайное значение из массива, принимает массив function array_rand(arr) { if (arr) { return arr[Math.floor(Math.random() * arr.length)] } return false } /* * Конвертирует hex в rgba. * hex - цвет в формате hex. * opacity - прозрачность в формате 0-1. */ hexToRgba: function (hex, opacity) { if (hex && opacity) { hex = hex.replace('#', '') var r = parseInt(hex.substring(0, hex.length / 3), 16), g = parseInt(hex.substring(hex.length / 3, 2 * hex.length / 3), 16), b = parseInt(hex.substring( 2 * hex.length / 3, 3 * hex.length / 3), 16) return 'rgba(' + r + ',' + g + ',' + b + ',' + opacity + ')' } return false } /* * Функция для добавления неразрывных пробелов после каждых 3 символов. */ function getPriceFormat(price) { return price.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1 ') } /* * Функция jQuery для перемещения курсора в тексте. * start - начальная позиция. * end - конечная позиция, необязательный параметр. * * Использование $('.selector').cursorPosition(0) */ $.fn.cursorPosition = function(start, end) { if (end === undefined) { end = start } return this.each(function() { if ('selectionStart' in this) { this.selectionStart = start this.selectionEnd = end } else if (this.setSelectionRange) { this.setSelectionRange(start, end) } else if (this.createTextRange) { var range = this.createTextRange() range.collapse(true) range.moveEnd('character', end) range.moveStart('character', start) range.select() } }) }
Список