• Как через js проверить поддержку того или оного css свойства?

    Kublyakov
    @Kublyakov
    А не пробовали посмотреть как это устроено в https://modernizr.com/ ? Там и примеры сразу и тд.)
    Ответ написан
    1 комментарий
  • Как сделать сайт без перезагрузки?

    Ответ написан
    Комментировать
  • Как в React сделать задержку onMouseEnter?

    Я только рекомендую сделать эту функцию через debounce (или аналоги):

    constructor(props) {
        super(props);
        const finalMouseDelay = props.mouseDelay || 300;
        
        this.handleMouseLeave = this.handleMouseLeave.bind(this);
        this.handleMouseEnter = this.handleMouseEnter.bind(this);
        this.toggleHover = _.debounce(this.toggleHover.bind(this), finalMouseDelay);
        
        this.state = { hover: false };
      }
    
      handleMouseLeave() {
        this.toggleHover(false);
      }
      
      handleMouseEnter() {
        this.toggleHover(true);
      }
    
      toggleHover(to) {
        this.setState({ hover: to });
      }


    Рабочий пример тут - jsfiddle.net/yuvuyrhv/24

    Иначе у Вас будут дикие лаги, если пользователь навел мышку\убрал мышку\снова навел ... с интервалом быстрее, чем заданный вами
    Ответ написан
    2 комментария
  • Маршрутизация, имеет ли такой подход право быть?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    1. Use HttpFoundation Luke!
    2. Ваш роутер, был бы не плох лет эдак 10 назад, но не сейчас, посмотрите роутинг symfony, или silex
    3. ОБЯЗАТЕЛЬНО читаем: PSR-1, PSR-2, PSR-4

    <?php
    namespace lib;
    class Router {
    // Может rules все таки?))
          private $rulls; // Зачем тут отступ?
    // phpDocumentor - ваш друг, прописывайте ОБЯЗАТЕЛЬНО типы данных.
        private $uri;
        private $controller;
        private $params = [];
    
        function __construct(){
            $this->setUri(); // У вас нет такого метода, есть setURI
            $this->setController();
            $this->setParams();
            $this->setRulls();
        }
    // Что будет, если $_SERVER['REQUEST_URI'] = '/?', или '/////'?
        private function setURI(){
    // Подобное форматирование может и ок для шаблонов, и то где-то, где вообще незаметно, но не тут читаем про PSR-2
            if($_SERVER['REQUEST_URI'] != '/'):
                $this->uri = explode('/',trim(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH), '/'));
            endif;
        }
    // Я правильно понимаю, вы хотите сказать, что контроллер - это некий элемент массива (похоже string|null)? Обычно контроллер - это объект...
        private function setController(){
            $this->controller = array_shift($this->uri);
        }
    // В этом методе вы по тупому копируете элементы, зачем?
        private function setParams(){
    // Подобное форматирование может и ок для шаблонов, и то где-то, где вообще незаметно, но не тут читаем про PSR-2
            foreach ($this->uri as $value):
                $this->params[] = $value;
            endforeach;
        }
    
        private function setRulls(){
    // NO! загрузка данных - это НЕ задача роутера, от слова СОВСЕМ
            file_exists(SITE_ROOT.DS.'routing'.DS.'rulls.php') ? $this->rulls = include(SITE_ROOT.DS.'routing'.DS.'rulls.php') : die('Файл с конфигурацией роутинга где-то затерялся, извини.');
        }
    // В методе ничего нечего спасать, просто удалите его.
        public function run(){
    // НЕ ИСПОЛЬЗУЙТЕ ГЛОБАЛЬНЫЕ ПЕРМЕННЫЕ
            $_REQUEST = array_merge($_REQUEST, $this->params);
            $controller = '\\controllers\\'.$this->rulls[$this->controller]['controller'];
            $action = $this->rulls[$this->controller]['action'];
            $controller = new $controller; // Что будет, если такого класса нет?
            $controller->$action(); // Что будет, если такого метода нет?
        }
    }
    Ответ написан
    Комментировать
  • Где найти учебники по HTML, CSS для школьников?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    htmlacademy.ru разжевывает все, дальше некуда
    Ответ написан
    Комментировать
  • Как разобрать url при помощи регулярного выражения?

    @run100500
    Можно использовать свойства элемента <a>
    var parser = document.createElement('a');
    parser.href = "http://example.com:3000/pathname/?search=test#hash";
    
    parser.protocol; // => "http:"
    parser.hostname; // => "example.com"
    parser.port;     // => "3000"
    parser.pathname; // => "/pathname/"
    parser.search;   // => "?search=test"
    parser.hash;     // => "#hash"
    parser.host;     // => "example.com:3000"

    Источник
    Ответ написан
    3 комментария
  • Material UI + React JS как запустить хоть один пример?

    @OneFive
    React.js <3
    Возьмите готовый код что бы разобраться https://github.com/lern/react-material-webpack-boi...
    git clone https://github.com/lern/react-material-webpack-boilerplate.git m
    cd m
    npm install
    npm run hot-dev-server
    # ждем пока запустится сервер и открываем ещё один терминал в этой же папке.
    npm run start-dev
    # и переходим 
    http://localhost:8080/
    Ответ написан
    Комментировать
  • Как динамично размывать элементы под div'ом?

    andykov
    @andykov
    Shit happens
    Оберните все содержимое страницы в блок, кроме модальных окон, например wrapper.
    Если используете плагин, в callback открытия пишите добавление класса .blur к обертке wrapper.
    На закрытие удаляете и все.
    Ответ написан
    Комментировать
  • Как сделать неактивным checkbox если выбран другой checkbox?

    mlnkv
    @mlnkv
    JavaScript Developer
    <form id="32">
      <label><input type="radio" id="1-5" name="test" value="1">"1"</label>
      <label><input type="radio" id="2-5" name="test" value="2">"2"</label>
    </form>
    Ответ написан
    Комментировать
  • Почему стали популярны less, sass, ruby on rails, bower, grunt? И зачем они нужны?

    Боюсь ошибиться, но это возникает от невозможности или нежелания развивать кругозор, возьмите за правило в воскресный вечер на пару часов заглядывать хотя бы в хаб "Веб-разработка", там люди для Вас уже все данные агрегатируют в статьи, многие темы пересекаются, даже особо не вникая в суть каждого инструмента через месяц-два вы будете прекрасно ориентироваться и в них и в решениях на их основе. Без этого вы не поймете, что Вам нужно, а что нет. Не верьте людям, которые говорят, что препроцессоры CSS, например, бесполезная вещь, мусор для лентяев. Они или сами не знаю что это, либо мазахисты. Еще никто не жаловался из тех кто пробовал. Еще бы... кому интересно станет противно, от того что миксин за тебя пишет вендорные префиксы, переменные хранят весь набор цветов твоего проекта или других прелестей.
    Ответ написан
    Комментировать
  • Почему стали популярны less, sass, ruby on rails, bower, grunt? И зачем они нужны?

    sayber
    @sayber
    Да, я программирую на PHP и еще асинхронно!
    Просто вы потерялись в середине нулевых, а по некоторым вещам и в начале.
    Стоит немного наверстать.

    Писать конечно можно и в блокноте. Я в середине нулевых начал пользоваться eclipse, nusphere (phped), теперь же жизнь без PHPStorm не представляю. Для простого кода обычно использую sublime.
    Ну и конечно, я так же не представляю жизнь без препроцессоров, современных наработок и т.д. Все что вам кажется дикостью. К примеру вместо PHP на серверной стороне использовать NodeJS или вообще Go.

    Помните, в 90е сотовые телефоны были редкостью ? Они были в новинку.
    Но сейчас, жизнь без них (я про обычные сотовые, без чатиков) просто не могу представить.

    Все как и с любым другим направлением, технологии развиваются, человек привыкает к удобствам и обратно уже не хочет. Соответственно, компании ищут сотрудников, которые бы обладали набором современных знаний, т.к. для командной работы это очень спасает.
    Ответ написан
    1 комментарий
  • Какой php-фреймворк выбрать для CMS?

    Atanvar
    @Atanvar
    Frontend developer
    Yii2 / Laravel 5
    Ответ написан
    Комментировать
  • Как правильно делать предзагрузку для изображений?

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    $(function () {
    	$('img[data-src]').each(function () {
    		var image = $(this);
    
    		image.attr({
    			src: image.data('src')
    		}).removeAttr('data-src');
    
    		if (!image.get(0).complete) {
    			image.parent().addClass('loading');
    			image.bind('load', function () {
    				$(this).unbind('load').parent().removeClass('loading');
    			});
    		}
    	});
    });

    Update (для сохранения превью на время загрузки)

    $(function () {
    	$('img[data-src]').each(function (index) {
    		var image = $(this),
    			src = image.data('src'),
    			_img = $('<img>', {
    				src: src
    			});
    
    		if (!_img.get(0).complete) {
    			image.parent().addClass('loading');
    			_img.bind('load', function () {
    				image
    					.attr({
    						src: src
    					})
    					.removeAttr('data-src')
    					.parent().removeClass('loading');
    				_img = null;
    			});
    		}
    	});
    });
    Ответ написан
    2 комментария
  • Как перегруппировать массив?

    @antonowano
    Профессиональный самоучка
    $result = array();
    foreach($data as $val) {
        foreach($val as $key => $type) {
            $result[$key][] = $type;
        }
    }
    Ответ написан
    2 комментария
  • Как сделать чат на WebSocket + php?

    Terminaft
    @Terminaft
    Я использую Ratchet. Примеры очень простые и понятные
    Ответ написан
    Комментировать
  • Может ли NodeJS работать как PHP?

    zBit
    @zBit
    Full stack web developer
    Запускайте Node приложения через grunt с настроенным autoreload'ом. В итоге получите то что хотели: изменили файл, и сервак перезапустится, вы сразу увидите изменения.
    Ответ написан
    Комментировать
  • Может ли NodeJS работать как PHP?

    Может. Только не стоит - теряются все плюсы и Node.js превращается в такое же унылое говно, как и PHP - слишком большое время инициализации скрипта. Программа на Node точно такая же, как и на PHP и любом другом языке. Вот только обычно программы на PHP взаимодействуют с web-сервером через cgi протокол, а программы на Node запускают собственный web-сервер и получают либо запросы напрямую, либо от основного web-сервера. Никто не мешает положить скрипт в папку, первой строчкой скрипта прописать интерпретатор, прописать возможность запуска в каком-нибудь Apache и выводить данные через console.log вместо echo.
    Ответ написан
    Комментировать
  • Процедурный стиль или ООП PHP?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Процедурный однозначно.
    Если такой вопрос в принципе возникает - это значит, что ООП автор не понимает от слова "совсем". И в итоге, при попытке написать собственные классы, получит адский треш. Поэтому только процедурный. Там тоже будет треш, но не адовый.

    Более сложный вариант - посмотреть на календарь, узнать, что сейчас уже вторая декада XXI века, и перестать уже наконец использовать РНР так, как его использовали в прошлом тысячелетии, ковыряя каждую мелкую задачу самостоятельно на чистом РНР. После этого взять учебник по современному фреймворку, такому как Ларавель или Йии, прочитать его, и начать делать сайт с помощью готовых классов, которые уже написали для тебя, и которые берут на себя 80% черновой работы, и при этом делают её на 100500% лучше, чем твой собственный самопальный код (потому что учитывает миллион нюансов и правил, о которых ты вообще даже не подозреваешь). В итоге, по факту, сайт получится с использованием ООП, но не в том смысле, который имел в виду автор (писать все самому с нуля).
    Ответ написан
    2 комментария