• Как рандомно и одновременно равномерно расположить элементы по секции?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    1. Разделить экран на квадраты/регионы
    2. Размещать элемент рандомно в пределах квадрата с учетом размеров элемента

    Т.е., генерация координат идет в несколько этапов: сначала выбирается рандомный квадрат в крупной сетке, затем в рамках этого квадрата генерируется новая пара рандомных координат, в которую и кладем элемент.
    Ответ написан
    1 комментарий
  • Как рандомно и одновременно равномерно расположить элементы по секции?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    Имеете в виду что-то такое?

    Ответ написан
    2 комментария
  • Скролл в блоке, javascript?

    @JerryWM
    document.querySelector('.scroll-bl').addEventListener('click', function () {
                    document.querySelector('ul.level-scroll').scrollTop = 10;
    })
    Ответ написан
    2 комментария
  • Почему VSCode перестал отображать палитру цветов?

    ae_ph
    @ae_ph Автор вопроса
    I'm a owl )
    Решение проблемы..
    Нажать F1 и вставить setting.json
    Было прописано "editor.hover.enabled": false, — Это удаляет подсказки всплывающие.
    Как оказалось ко всему прочему эта функция отключила мне палитру цветов.
    Это очень странно, ведь раньше она её не затрагивала, а касалась лишь подсказок.
    P.S. (подсказки это когда при наведении на любой тег, рядом всплывает окно).
    Ответ написан
    Комментировать
  • На каком языке лучше писать серверную часть для real time React app?

    @VasyaM13221
    Дело в том что изначально JavaScript и php задумывались как языки для написания очень простых скриптов для сайта не большого размера, JavaScript вообще чисто браузерный язык со всеми вытекающими. Не хочу никого обидеть, но и то и другое полное днище. Не смотря на то что их пытаются применять в крупных проектах, их детские уши торчат из всех щелей.
    Если хотите хороший бэкенд, с детерминированным поведением, выбирайте строготипизированный язык. Я вам советую c# dotnet core
    Ответ написан
    6 комментариев
  • Как обернуть контент в нужный тэг в VScode горячией клавишей?

    alsolovyev
    @alsolovyev
    1. Ctrl + Shift + P
    2. Emmet: Wrap with Abbreviation
    3. Ввести таг

    Можно добавить свой shortcut как в sb3(file->keyboard shortcuts->keybinding,json):
    [
      {
        "key": "ctrl+shift+g",
        "command":"editor.emmet.action.wrapWithAbbreviation",
        "when": "editorTextFocus && !editorReadonly"
      }
    ]

    Использовать как в sb3

    Или установить плагин: ext install htmltagwrap
    Ответ написан
    3 комментария
  • Можно ли подключить напрямую Mastercard / Visa?

    @abbaboka
    Примерно миллион долларов только за каждое подключение, плюс доп. затраты что то там на уровне еще по 0,5 миллионов долларов за каждую доп. услугу.
    https://bankir.ru/dom/forum/департамент-технологий...
    Я бы на вашем месте рассмотрел бы возможность работы через посредников.
    Конечно, вы будете им платить больше.
    Но чтобы окупились затраты на прямое подключение - вам нужно иметь очень большие обороты.
    В мире не так уж много предприятий (не считая платежных систем, которым это, понятно, нужно), что имеют прямое подключение к Visa/MasterCard.
    Более того, далеко не каждая платежная система имеет прямое подключение к Visa/Mastercard.
    Ответ написан
  • Как правильно рисовать дизайны web-дизайн?

    Ответ написан
    Комментировать
  • Как при второй инициализации плагина передать только параметры?

    BRAGA96
    @BRAGA96
    Это называется метод. Создайте метод set передайте в него селектор и параметры. В методе сложите переданные параметры и те что были и переинциализируйте плагин, то есть запустите init с новыми параметрами.
    Вот вам шаблон-пример:
    (function($, window, undefined) {
    	'use strict';
    
    	var plugin = {
    		name: 'plugin',
    		data: {
    			setting: 'setting'
    		}
    	}, defaults = {
    		color: 'red',
    		background: 'black'
    	};
    
    	var methods = {
    		init: function($this, setting, type) {
    			var setting = function() {
    				var params = $.extend({}, defaults, setting);
    				$this.data(plugin.data.setting, params);
    				return params;
    			}();
    			/* START */
    			$this.css({
    				color: setting.color,
    				background: setting.background
    			});
    			/* END */
    		},
    		set: function(key, value) {
    			var setting = $(this).data(plugin.data.setting);
    			switch (typeof key) {
    				case 'string':
    					setting[key] = value;
    					break;
    				case 'object':
    					setting = $.extend(true, {}, setting, key);
    					break;
    			}
    			methods.init($(this), setting, 'update');
    		},
    		get: function(key) {
    			var setting = $(this).data(plugin.data.setting);
    			if (key) {
    				return Object.getOwnPropertyDescriptor(setting, key).value;
    			} else {
    				return setting;
    			}
    		},
    		destroy: function() {
    			$(this).removeData(plugin.data.setting).fadeOut(200, function() {
    				$(this).empty().show();
    			});
    		}
    	};
    
    	$.fn[plugin.name] = function(setting, key, value) {
    		if (typeof setting === 'object' || !setting) {
    			return $.each(this, function() {
    				methods.init($(this), setting, 'init');
    			});
    		} else if (typeof setting === 'string') {
    			switch(setting.toLowerCase()) {
    				case 'set':
    					return methods.set.call(this, key, value);
    				case 'get':
    					return methods.get.call(this, key);
    				case 'destroy':
    					return methods.destroy.call(this);
    			}
    		}
    	};
    
    })(jQuery, window);


    Использование:
    // Инициализация с параметрами по умолчанию
    $('.block').plugin();
    // или своими параметрами
    $('.block').plugin({
    	color: 'green',
    	background: 'white'
    });
    
    // Метод SET, изменить параметры и переинциализировать плагин
    $('.block').plugin('set', 'color', 'red');
    // или передать объект новых параметров
    $('.block').plugin('set', {
    	color: 'yellow',
    	background: 'black'
    });
    
    // Метод GET, получить параметры плагина
    $('.block').plugin('get', 'color');
    // или получить все параметры
    $('.block').plugin('get');
    
    // Метод DESTROY, отвязать плагин
    $('.block').destory();
    Ответ написан
    8 комментариев
  • Как увеличить path svg?

    alvvi
    @alvvi
    export default apathy;
    Для одного элемента, для коллекции так же просто пройтись циклом:
    const $square = $('.seat path') 
    const boundingBox = $square[0].getBBox()
    const xCenter = (boundingBox.width / 2) + boundingBox.x
    const yCenter = (boundingBox.height / 2) + boundingBox.y
    $square.css('transform-origin', `${xCenter}px ${yCenter}px`)

    Объяснение: насколько я понимаю вам нужен scale именно от центра элемента, то есть если бы это был HTML transform-origin: 50% 50%; спасло бы ситуацию, однако для частей SVG, насколько я знаю, transform-origin считается от всего <svg> элемента, а не от самого элемента на котором он применен, поэтому верные значения надо высчитать с помощью JS или заинлайнить.
    Ответ написан
    1 комментарий