Задать вопрос
  • Как сделать калькулятор на WordPress и поставить его на определенную страницу?

    ProjectSoft
    @ProjectSoft
    Карим Син, всё зависит от того, в какую cms вы пытаетесь внедрить калькулятор.
    Логику калькулятора я опускаю. Ибо в зависимости от задачи она может быть в абсолюте разная и пишется на чистом js + bekend (если он требуется)
    Вы пытаетесь внедрить это в WP.
    Значит первое, что вам нужно познать - создание плагинов для WP и не просто запуск, а с возможностью настройки калькулятора. Из этого уже будет строится ваш frontend, где вы просто будете обязаны предусмотреть всю возможную логику и даже расширяемость вашего основного объекта калькулятор.
    Тема довольно-таки обширная и, повторяюсь, зависит от задачи. Либо вы делаете для конкретного проекта или либо вы делаете конечный продукт, который будет легко настраиваемый в любом проекте и вы можете рассчитывать на кофе с печеньками.
    Сколько стоит такая работа.
    Всё зависит от вашего скила и качества.
  • Почему объектом можно указать только html а не window или что-то другое?

    ProjectSoft
    @ProjectSoft
    Вы знаете что такое this в 10-ой строчке кода?
    Попробуйте пред условием вывести в консоль и посмотрите в инструментах разработчика, что он выдаст в консоли.
    $(window).on('scroll', function(){
    console.log(this);
    });

    Почему именно к window? Потому что вы скролите окно, в котором находится html. Именно window генерирует первым событие scroll. Обратиться вы можете к чему угодно. Главное, чтобы объект вам отдавал то событие, которое вы ждёте.
  • Верстка слайдера, как такое сверстать?

    ProjectSoft
    @ProjectSoft
    Указываем условия для соседних селекторов. А именно для .slick-active. Для всех слайдов и четвёртого активного (.slick-active + .slick-active + .slick-active + .slick-active) - opacity: 0.5. Для второго (.slick-active + .slick-active) и третьего (.slick-active + .slick-active + .slick-active) opacity: 1
    Вот и весь принцип.
  • Как собрать все фотографии выбранные при помощи разных форм?

    ProjectSoft
    @ProjectSoft
    К самим фото - нет. А вот отдельными данными - можно. Например filesUploadData[]
    Принцип не меняется.
    <!DOCTUPE HTML>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<meta http-equiv="X-UA-Compatible" content="IE=Edge">
    		<title>Test</title>
    	</head>
    	<body>
    		<input type="file" data-type="col-1"><br>
    		<input type="file" data-type="col-2"><br>
    		<input type="file" data-type="col-3"><br>
    		<input type="file" data-type="col-1"><br>
    		<input type="file" data-type="col-2"><br>
    		<input type="file" data-type="col-3"><br>
    		<input type="file" data-type="col-4"><br>
    		<button id="click">Test</button>
    		<script>
    			var btn =document.getElementById('click');
    			click.addEventListener('click', function(e){
    				var files = document.querySelectorAll('input[type="file"]'),
    					fd = new FormData();
    				if(files){
    					files.forEach(function(input, index, list){
    						if(input.files.length){
    							fd.append("filesUploadData[]", input.dataset.type);
    							fd.append("filesUpload[]",input.files[0]);
    						}
    					});
    				}
    				// вывод для теста
    				console.log(fd.getAll('filesUpload[]'));
    				console.log(fd.getAll('filesUploadData[]'));
    				// Отправляем ajax
    				// Повесить обработчики отправки!!!!
    				var request = new XMLHttpRequest();
    				request.open("POST", "/form.php");
    				request.send(fd);
    			});
    		</script>
    	</body>
    </html>

    Что пришло на сервер
    E64E1k0EVWYcx6LBTAldwrgERWm8X8.png
  • Как убрать выступ слайда в Slick Slider?

    ProjectSoft
    @ProjectSoft
    Возможна проблема в стилях блока слайда.
    Без кода или ссылки на пациента вам ни кто и ни когда не даст ответа.
  • Как сделать что бы popup не обрабатывался при каждом новом browserAction?

    ProjectSoft
    @ProjectSoft
    rogiivs, как раз оптимизацию я и предлагаю.
    Вам всё-равно строить лист новостей и без разницы, где это будет происходить. А вот построение листа в popup как раз заметно тормознёт.
    Я не настаиваю ибо тоже могу ошибаться. Тут нужно устраивать тесты.
    Главное - вы поняли направление.
  • Поиск вложенного элемента DOM?

    ProjectSoft
    @ProjectSoft
    newaitix ну так el2 это и есть ссылка на объект. Вы его создали и теперь обращаетесь к нему по ссылке. При этом не важно, в каком dom элементе он будет стоять. Вам не нужно каждый раз трясти dom на поиск этого элемента.
  • Как правильно проверить разрешение изображения с помощью jQuery перед загрузкой?

    ProjectSoft
    @ProjectSoft
    Михаил если вам дали решение - не забывайте помечать ответ, как решение.
    Уважайте время и труд.
  • Как сделать что бы popup не обрабатывался при каждом новом browserAction?

    ProjectSoft
    @ProjectSoft
    Ну например. У вас идёт запрос ленты новостей ни при каждом клике по иконке, а по определённому промежутку времени. Вам даже не обязательно делать html вёрстку ленты в скрипте popup, а прям в фоновом скрипте расширения, откуда и идут запросы на ленту, и сохранять эту вёрстку в localStorage.
    Можно напрямую сохранять через localStorage['ключ_вёрстки_ленты'], можно использовать API
    Я делал свою обработку
    https://github.com/ProjectSoft-STUDIONIONS/Demiart...
    spoiler
    window._helper = {
    	pack: function(data){
    		return JSON.stringify(data);
    	},
    	unpack: function(data){
    		try {
    			return JSON.parse(data);
    		} catch(ex) {
    			return null;
    		}
    	},
    	isNumber: function(value){
    		return (!isNaN(parseFloat(value)) && isFinite(value) && !this.isString && !this.isBoolean && !this.isObject && !this.isArray);
    	},
    	isArray: function (value){
    		return (!this.isNull(value) && (Object.prototype.toString.call(value) === '[object Array]'));
    	},
    	isObject: function(value){
    		return (!this.isEmpty(value) && (typeof value == 'object'));
    	},
    	isBoolean: function(value){
    		return (typeof value == 'boolean');
    	},
    	isString: function(value){
    		return (typeof value == 'string');
    	},
    	isNull: function(value){
    		return ((value === undefined) || (value === null));
    	},
    	isEmpty: function(value){
    		return ( this.isNull(value) || ((typeof value.length != 'undefined') && (value.length == 0)) );
    	}
    };
    
    window.storage = {
    	get: function(key, defValue, typeValue){
    		var val = (typeof localStorage[key] == "undefined" || typeof localStorage[key] == "null") ? _helper.pack(defValue) : localStorage[key];
    		val = _helper.unpack(val) == null ? defValue : _helper.unpack(val);
    		switch (typeValue){
    			case 'number':
    				if(_helper.isNull(val) || _helper.isEmpty(val))
    					val = 0;
    				if(!_helper.isNumber(val))
    					val = parseFloat(val);
    				this.set(key, val);
    				break;
    			case 'boolean':
    				val = (_helper.isBoolean(val)) ? val : (defValue ? true : false);
    				this.set(key, val);
    				break;
    			case 'object':
    			case 'array':
    				val = _helper.isObject(val) || _helper.isArray(val) ? val : (typeValue == "array" ? [] : {});
    				this.set(key, val);
    				break;
    			default:
    				this.set(key, val);
    				break;
    		}
    		return val;
    	},
    	set: function(key, value){
    		value = _helper.pack(value);
    		localStorage[key] = value;
    	}
    };

    При запуске popup вы проверяете, заполнен ли ключ, в котором хранится вёрстка или нет и просто вставляете её в нужный вам контейнер.
    Когда сохраняете позицию скролла. Вставили контент - прокрутили к позиции. Перепписали контент - записали позицию скролла 0.
    Надеюсь я понятно объяснил.
  • Возможно-ли вынести input за пределы карты яндекс?

    ProjectSoft
    @ProjectSoft
    А как всё хорошо начиналось))))
    Там ни так много, чтобы во всём разобраться.
  • Как удалить script src с помощью Pure JS?

    ProjectSoft
    @ProjectSoft
    Самый правильный ответ!!!)))
  • Удалить аттрибут jquery?

    ProjectSoft
    @ProjectSoft
    Да посмотрите в консоль
    function getCode(val) {
        if (val == 6) {
            console.log($(this).parent().find('input.product_id').length);
            $(this).parent().find('input.product_id').removeAttr('readonly');
        }
    }

    Если 0 - значит jQuery не находит элементы.
  • Как растянуть изображение на весь блок?

    ProjectSoft
    @ProjectSoft
    xakslim, кто вам сказал, что нужно менять размеры в редакторе?
    Тем более это WP.
    Ещё раз - задача для back-end. Написать плагин, который будет ресайзить картинки под данный блок.
    Усложняем, для back-end, проверяем существование перевьюшки изображения и если нет - ресайзим, сохраняем, отдаём путь. Всё делается стандартными API функциями WP из коробки.

    Как видите, всё решается не в вёрстке, а на back-end. Плюс, для css описываете позицию и размер для background блока или для img тега, чтобы избежать возможные ошибки при ресайзе не подходящих пропорций изображений для данного блока.
  • Как растянуть изображение на весь блок?

    ProjectSoft
    @ProjectSoft
    В чём проблема ставить картинки именно в таком размере - 390х290 ?
    Если вы верстаете, то делайте по ТЗ. А бэкэнд сделает свою работу по обработке изображений для вывода в данных блоках. И опишет правила для менеджеров, чтобы подгоняли картинки в пропорции 4х3.
  • Что вы думаете о Adobe Muse? Насколько он хорош?

    ProjectSoft
    @ProjectSoft
    Ostin1, лень вам. Именно вам, ибо вы понятия не имеете о чистоте кода. И вам сподручней именно такой код разбирать, а не думать, как сделать лучше.
    А по своему большому опыту, я чужой код читал и читаю побольше вашего, ибо по годам я на много старше вас. И такие дебри разбирал, что вам и не снилось.
  • Что вы думаете о Adobe Muse? Насколько он хорош?

    ProjectSoft
    @ProjectSoft
    Ostin1, имхо, против говнокодерства спорить не буду. Ибо у говнокодеров лень превыше всего.
    Только вот потом почему-то стучатся - "а сделайте мне это..., он был сделан в мусе, кто делал -
    отказывается."
    Почему отказывается? Да понятно. Там чёрт ни только ноги сломает. А "кодер" ни черта ни чего не знает!
    Вот и приходится переделывать с нуля и с великим желанием оторвать ни только руки говнокодеру.