Реализация jQuery.parents() на Vanilla JS

В современном JavaScript появилось столько возможностей, что в библиотеках, подобных jQuery, нет никакой надобности. К сожалению, не все функции доступны в Vanilla JS, например метода, аналогичного методу parents() в JavaScript нет, поэтому я написал аналог.

Код

Element.prototype.parents = function(selector) {
	var elements = [];
	var elem = this;
	var ishaveselector = selector !== undefined;
 
	while ((elem = elem.parentElement) !== null) {
		if (elem.nodeType !== Node.ELEMENT_NODE) {
			continue;
		}
 
		if (!ishaveselector || elem.matches(selector)) {
			elements.push(elem);
		}
	}
 
	return elements;
};

Читать дальше

uInfo v2.1

Новая версия скрипта получения информации о зашедшем пользователе (имя браузера, операционной системы и их версий).

  • Исправлена работа на устройствах с маленьким экраном
  • Исправлен цвет отображаемого текста в Firefox
  • Исправлена отображаемая версия браузера для Opera Mini
  • Добавлено определение следующих браузеров: EVE, Breach, Vivaldi, Sputnik

Живой пример работы: http://ip.ziggi.org/
GitHub: https://github.com/ziggi/uInfo

zimg-host v2.1

Минорное, но довольно важное обновление простого движка хостинга изображений.

Что изменилось:

  • Добавлено всплывающее окно, из которого можно скопировать ссылки сразу на все загруженные изображения
  • Исправлено множество ошибок (смотреть тут)

Пример работы: http://img.ziggi.org/
Исходники: https://github.com/ziggi/zimg-host

Плательщик перечислил, получатель получил

Описать структуру с именем ORDER, содержащую следующие поля:

  • расчетный счет плательщика;
  • расчетный счет получателя;
  • перечисляемая сумма в руб.

Написать программу, выполняющую следующие действия:

  • ввод с клавиатуры данных в массив, состоящий из восьми элементов типа ORDER;
  • записи должны быть размещены в алфавитном порядке по расчетным счетам плательщиков;
  • вывод на экран информации о сумме, снятой с расчетного счета плательщика, введенного с клавиатуры;
  • если такого расчетного счета нет, выдать на дисплей соответствующее сообщение.

Читать дальше

Поиск предложения с максимальным количеством знаков пунктуации

Написать программу, которая считывает текст из файла и выводит на экран предложение, содержащие максимальное количество знаков пунктуации.
Читать дальше

Про количество отрицательных элементов и седловые точки

Дана целочисленная прямоугольная матрица.
Определить:

  1. количество отрицательных элементов в тех строках, которые содержат хотя бы один нулевой элемент;
  2. номера строк и столбцов всех седловых точек матрицы.

Примечание. Матрица А имеет седловую точку A_ij, если A_ij является минимальным элементом в i-й строке и максимальным в j-v столбце.
Читать дальше

zimg-host v2.0

Спустя два года после анонса я, наконец, закончил работу над этим сервисом. Исходный код стал более модульным и теперь его будет очень просто встроить в любой сайт.

Что изменилось:

  • Полностью переписан код
  • Полностью изменён дизайн (красивый, адаптивный)
  • Загрузка файлов в реальном времени (AJAX)

Пример работы: http://img.ziggi.org/
Исходники: https://github.com/ziggi/zimg-host

О виртуальной реальности

Oculis Rift

Виртуальная реальность (далее VR) — новая веха в развитии получения информации человеком. С ростом этой технологии часть мира, связанная с IT, полностью изменится. Большее влияние VR испытает на игры, компьютеры и кино. В этой записи я опишу своё мнение о развитии компьютеров и кино в эпоху виртуальной реальности.

Читать дальше