• Как убрать плавающую точку?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Используй хаккерский прием - "целые дробные".
    Возьми изначально cnt умноженное на 10000, и сохраняй все числа челыми.
    Прибавляй в целых числах, не пользуйся дробными.
    Дели обратно на 10000 только при выводе, тогда не будет разницы даже если сконвертит не правильно.
    Ну и сравнивай естественно с умноженным на 10000 целым значением.

    P.S. А ещё лучше вместо умножения сделай сдвиг "<<" на n разрядов. И вместо деления двигай обратно ">>" при выводе.

    var cnt = getCoookie('timer');
    ...
    var timer = setInterval( function() {
    cnt += 10;   // cnt += 0.0001
    ...
    if ( cnt >= 10152501 ) ...
    }
    Ответ написан
    Комментировать
  • Как НЕ дублировать select в HTML миллион раз?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Можно сделать новим способом HTML5 datalist
    <input list="workers" name="worker[234]">
    <input list="workers" name="worker[456]">
    <input list="workers" name="worker[333]">
    <input list="workers" name="worker[667]">
    <datalist id="workers">
     <option value="Текст1">
     <option value="Текст2">
    </datalist>


    Вот для него полифил datalist-polyfill или polyfills/datalist
    Ответ написан
    3 комментария
  • Какой ноутбук выбрать для графического дизайна (что бы не тупил)?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Asus Zenbook Pro UX501VW - идеальный вариант
    www.notebookcheck-ru.com/Obzor-test-Asus-ZenBook-P...

    Asus ZenBook UX330 - достаточный "за глаза"

    Acer Aspire S5-371-79GC - цена / качество но толстый и только FullHD

    P.S. Калибровать монитор придется в любом случае.
    P.P.S. Стационарный компьютер ОДНОЗНАЧНО будет быстрее любого мобильного близкой конфигурации. Во-первых поставь памяти 16Мб. Во-вторых мать у тебя небось самя простая которая подходила для этого проца. А в третьих проц тебе кто выбирал, у процессора для твоих нужд нужна кешпамять от 12мб. Но скорее всего - вопрос не в железе!!! А в системе понаставленно всякого резидентного "дерьма", которое отжирает ресурсы. Особенно актуально если система поставленна из "модной" пирацкой сборки с кучей плюшек в комплекте. Поставь официальную сборку Windows10 (не тупи с 7-кой). Или тормози если тебе так больше нравится.
    Ответ написан
    Комментировать
  • Серверная часть под Bootstrap?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Обьясню популярно.
    Вашу ситуациию можно стравнить с рабочим строителем - он никогда не поймет архитектора.

    1-10 левел. HTML5 + CSS5 вообще не програмирование, это пасивные сущности. BOOTSTRAP это даже не сущность, это набор патернов - не более. Если вы выучили набор патернов, но не понимаете как работает HTML и CSS, вы помощник дизайнера/верстальщика. Фактически Вы чернорабочий - научились держать лопату, рыть канавы и перекидать мешки с места на место, без вреда для здоровья.

    10-30 левел. Изучив HTML и CSS на таком уровне, что понимаете как изменяя CSS придать правильный вид любой разметке. Учится здесь довольно быстро 1 годик, и 1 год опыта.
    Теперь: Вы фактически научились забивать гвозди, и выставлять доски по уровню.

    30-70 левел. JS, PHP, Node.js - уже програмирование. Там совсем другая парадигма. И начинать нужно с парадигмы програмирования. Понять что такое переменные, циклы, условия. Изучить алгоритмы, Обьектную модель, наследование, чэйнинг..., изучить серверные фреймворки Yii, Simphony, WP и т.д. Здесь быстрых результатов не ждать!!!, учится лет 5 и года 3 опыта в програмировании.
    Теперь ваш уровень соответствует специалисту по прокладке инженерных сетей - сантехнику, электрику.

    70-80 левел. Изучив сетевые протоколы, структуру серверов, архитектуру програмного обеспечения, серверные языки програмированя, взаимодействие инфраструктур и много чего ещё, вы только тогда станете Фулстак разработчиком (и в итоге архитектором програмного обеспечения 80 уровня). Но учится на рахитектора минимум 10 лет и еще 5 лет опыта в проектировании ПО.

    P.S. На вашем уровне, Вам подойдет например делать контен на готовых конструкторах WIX или CMS Wordpress. Сдесь много знаний не надо, надо научится регить домен, покупать хостинг, устанавливать в панели хостинга нужную CMS. И самое малое изучить саму CMS.
    Ответ написан
    5 комментариев
  • Платежную систему легче с нуля написать или изменить?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Переведи на e-commerce...

    С азовыми знаниями PHP за перепысывание не берись, уйдут недели времени. Даже на допиливание уйдет больше времени. Если бы было 1000 товаров тогда возможно да, но наверно было бы проще конвертнуть базу.

    P.S. Но если ты перфекцыонист, то все эти рассуждения никчемны. Далай как хочется.
    Ответ написан
    Комментировать
  • Почему после сохранения узла html в localStorage его невозможно вставить на страницу?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Узел это не код, это обьект.
    Исходный код в виде строки хранится в свойстве этого обьекта innerHTML.
    Сохрани свойство, и восстанавливай в свойство.

    var copydiv = document.getElementById('top-lighthouse').innerHTML;
    
        localStorage['localMem'] = copydiv;
        copydiv = localStorage['localMem'];
    
       /*  document.body.insertBefore( copydiv, document.body.firstChild ). не годится*/
        document.body.firstChild.innerHTML = copydiv;
    Ответ написан
    Комментировать
  • Как в Wordpress загрузить кастомный CSS/JS для всех (php)страниц конкретного плагина?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Например:
    function my_scripts() {
    wp_enqueue_style( 'genericons', get_template_directory_uri() . '/genericons/genericons.css', array(), '3.4.1' );
    wp_enqueue_script( 'twentysixteen-html5', get_template_directory_uri() . '/js/html5.js', array(), '3.7.3' );
    }
    add_action( 'wp_enqueue_scripts', 'my_scripts' );


    Скрипт должен лежать в директории /wp-content/themes/_mytheme_/ в указаной папке (В примере: /genericons и /js)
    Ответ написан
    6 комментариев
  • Cssnext VS Scss/sasss/stylus. Стоит ли переходить?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Препроцесоры только для удобства написаня кода. Никаких преймуществ для браузера они не предоставляют.

    А будущий CSS4 даёт преимущества именно для браузера. Например:
    - возможны существенные оптимизации рендеринга на стороне клиента;
    - по сети будет передаваться меньший по размеру код...
    Ответ написан
    4 комментария
  • Как сделать чтоб пункты меню не "прыгали" из за border?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    .nav a:hover,
    .liActive{
      border: 5px solid #000;
      margin:-5px;
    }


    или

    .nav a:hover,
    .liActive{
      outline: 5px solid #000;
    }


    И вообще пора использовать тег <nav>.
    А <ul><li> должны применяються только для списков в контенте:
    <nav class="nav navbar-nav headMnu">
      <a class="liActive" href="#">Главная</a>
      <a href="#">пункт2</a>
      <a href="#">пункт3</a>
      <a href="#">пункт4</a>
      <a href="#">пункт5</a>
      <a href="#">пункт6</a>
    </nav>
    Ответ написан
    Комментировать
  • Предложите, пожалуйста, идею, как можно сделать палочки?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Делай две сначала и после элемента
    .item:before,
    .item:after {
    content: '';
    width: 33px;
    height: 5px;
    background-color: #777777;
    }


    Нарисуй одну линию на всю ширину, а иконкам задай размер и фоновый цвет бекграунда.
    .container { position: relative; }
    .container:before, {
    content: '';
    position:absolute;
    top: 20px;
    width: 100%;
    height: 5px;
    background-color: #777777;
    }
    .item {
    text-align: center;
    }
    .item i {
    display:block;
    width:30px;
    height:30px;
    line-height:30px;
    background: #fff;
    }
    Ответ написан
    1 комментарий
  • Как читается решение данной задачи?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Ошибка
    var loc1 - findCarInLot(fiat2) ;   // Результат SyntaxError: Unexpected token -
    var loc2 - findCarInLot(taxi) ;    // Результат SyntaxError: Unexpected token -
    var loc3 - findCarInLot(chevy) ; // Результат SyntaxError: Unexpected token -
    var loc4 - findCarInLot(fiat1) ;   // Результат SyntaxError: Unexpected token -


    Потому-что в место "-" должно стоять "=".

    А вообще функция строго сравнивает обьекты и выдает индекс Элемента в масиве. Но так делать плохо - медленно, так как сравниваются все поля обьектов.

    Потрудитесь на этапе проектирования, и поменяйте архитектуру того куска, который пользуется этой функцией, и избавитесь от перебора масива. Например: можно прописать в масиве ключи соотвествующие уникальному атрибуту обьектов, и просто выбирать из масива по этому атрибуту.
    var data = {
    'chevy' : {  id : 'id0',  make : "Chevy" ,  model : "Bel Air" },
    'taxi' : {  id : 'id1' , make : "Webville Motors" ,  model : "Taxi" },
    'fiat1' : { id : 'id2', make : "fiat" ,  model : "500" },
    'fiat2' : {  id : 'id3',  make : "fiat" ,  model : "500" }
    } ;
    var a = data['fiat1'];
    
    var lot = { 'id0':'2' , 'id1':'0' , 'id2':'1' , 'id3':'3'} ;    // здесь ключи стоответсвуют id, а значения порядку в lot.
    lot[ data['chevy'].id ];  // =>2
    lot[ a.id ]; // => 1
    lot[ data['taxi'].id ]; //=> 0
    Ответ написан
  • Как вернуться к нужной позиции на странице при нажатии кнопки Назад?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Делается просто:

    По событию onscroll пишем в localStorage.scrollTop заначение скрола.
    По событию onload читаем из localStorage.scrollTop и устанавливаем позицию scrollTop у элемента с главным скролом.

    selector = 'body';   /* <--- cюда положи селетор на элемент с основным скролом */
    $('document').on('load', function(){ $(selector).attr('scrollTop', localStorage.scrollTop); }
    $(selector).on('scroll', function(){ localStorage.scrollTop = $(selector).attr('scrollTop'); }


    P.S. Для юзабельности, обязятельно должен быть элемент перемещающий на начало страницы.
    Ответ написан
    3 комментария
  • Как лучше делать редактирование статей?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Один контроллер для обработки этого обьекта;
    3 экшина:
    1. (post) создание обьекта - вызывает подготовку данных для новой записи, вызывает модель записи и перекидывающий на экшин редактирования;
    2. (post) редактирование обьекта - вызывает модель чтения данных из базы (если данные не готовы) и переходит к выводу вьюва самой формы;
    3. (ajax) запись обьекта - вызывает модель сохраняющую данные, посылает сообщение о результате.
    3 процедуры подготовки данных.
    1. Cоздания;
    2. Записи;
    3. Чтения.
    Две модели:
    1. Чтения информации SELECT ..., возвращающий данные из базы;
    2. Сохранения информации В конкретном случае она чуть сложннее. Но общем, в виде:
      INSERT INTO table (a,b,c) VALUES (1,2,3)
        ON DUPLICATE KEY UPDATE a = VALUES(a), b=VALUES(b), c=VALUES(c), id=LAST_INSERT_ID(id);



    Преимущество такого метода очень существенное: данные отсылаются/сохраняются/репортят но страница редактирования в браузере не перегружается (а еще можно их сохранять в localStorage, и сверять во втором экшине ).
    Плохо только, что создается чистая запись, которая может отстаться чистой и в последствии. И потом возможно нужно будет консолидировать значущие записи, удалив новые не редактированные.
    Ответ написан
    Комментировать
  • Что лучше — общий всё-в-одном style.css или несколько файлов .css?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    С переходом на протокол HTTP2 держать файлы раздельно даже на сервере будет лучше. Не будет разницы, ибо пакетироваться они будут на уровне протокола.

    Но даже сейчас лучше разделить стили блочной разметки от украшательств и грузить их раздельно. Подключать media queries CSS, не в CSS а в HTML отдельными файлами, указанием атрибута media:
    <link rel="stylesheet" media="all and (min-color-index: 256)" href="..." />


    А ещё лучше, подключать с каждой страницей только те стили, которые на ней используются :)

    Чтобы это можно было сделать, верстальщик должен сделать раздельные сборки:
    • Стартовую таблицу стилей которая грузится на всех страницах. Сюда входят: сброс браузеров, хеадер, футер (если он fixed внизу видимого), стили видимого при загрузке домашней страницы. ТОЛЬКО то, что видно на самом большом экране без элементов которые появляются во время прокрутки.
    • Основную таблицу стилей для разметки страниц контента. То что входит во все страницы контента, без специфичности. Ну и не фиксированный футер тот, что после контента. Эти стили должны быть загружены уже после загрузки основного контента.
    • Специфичные стили для отдельных страниц. Эти грузятся отдельно на каждой странице свои стили и по надобности объединяются с Основной разметкой контента.
    • Таблица стилей форм. Все формы на сайте должны грузится с одной таблицы. А не быть специфичными для разных страниц. Формы это не контент!!! У форм ОБЯЗАТЕЛЬНО должна быть отдельная таблица стилей. Она подключается при включении формы генератором форм на бекенде. Даже строка поиска в хедере. Все элементы input, textarea, option должны быть описаны в отдельной таблице стилей. Эти стили объединяются с основной или стартовой таблицей как будет надо.


    P.S. Уточню по Основной таблице стилей фактически сборок должно быть минимум 6 (мобильная, планшетная, малая, средняя, ретина, печатная).
    Верстка ВСЕГДА должна быть мобайлфёрст. И сновная таблица должна быть на мобильной версии сайта. А потом ёё расширять и естественно подключать атрибутом media по надобности. Сборка в порядке возрастания сначала узкоспециализированная таблица для мобильников. Для планшетников подключается только отдельный файл с планшетной и мобильной таблицами стилей собранные в кучу. И так далее...

    P.P.S. Cборщики (gulp) собирающие в один файл, это посредственное решение в лоб грубой силой, дабы не заморачиваться.
    Ответ написан
    4 комментария
  • Как скрыть элемент?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    $('.bar').on('change', function () { /* биндим событие на изменение ползунка */
        $('.clouds').each( function() { /* выбираем все тучки и для каждой выполняем следующее */
          this.top = $('.bar').value() * this.top;  /* здесь изменяем координату как вам удбно */
        });
      } );
    Ответ написан
    Комментировать
  • Нарезка и вёрстка нестандартного шаблона?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Самый простой метод это CSS трансформации блока.

    .container {
      transform: skewY( 5deg);
      padding: 0;                  
    }
    .container > .content {
      transform: skewY(-5deg);
      margin: -2em;                       /* подбираеш чтобы покрыть искаженный блок */
      padding: 3em;                       /* подбираеш чтобы влазил внутренний текст */
      background-image: url(http://s45.radikal.ru/i110/1610/c3/9837344ef991t.jpg);
    }
    Ответ написан
  • MySQLWorkbench как увидеть код создания таблицы?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    При любом изменении когда нажымаеш кнопку Apply показывается запрос который будет отправлен серверу. Так вот при создании таблицы просто скопируй этот запрос.

    Если нужен запрос на создание существующей таблицы воспользуйся меню правой кнопки на списке таблиц - пункт COPY TO CLIPBOARD / CREATE STATEMENT.

    Можно попробовать через SERVER / DATA EXPORT... Выбираеш базу в большом списке слева, выбираеш таблицы в большом списке справа, выбираеш в выпадающем селекторе DUMP STRUCTURE ONLY, дальше ставиш EXPORT TO SELF-CONTAINED FILE / выбираеш файл куда и START EXPORT.
    Ответ написан
  • Как можно корректно обрезать текст, чтоб несколько строк оставалось?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Вот посмотрите пример виджета с многострочной обрезкой.
    JSfiddle

    Самое главное правильно посчитать высоту строк. Это удобно делать в em.

    Например: У вас есть стандартный шрифт в пикселях в документе установленый ТОЛЬКО один раз в теге html. Блоки разметки header, footer, aside, колонок и секций его не меняют. Шрифт меняется только внутренними элентами разметочных блоков.

    Высоту блоков выставляете в em кратно line-height.

    Меняете его только в единицах em/rem. И коректируете высоту line-height по формуле:
    FSn / LHo = LHn,
    где
    FSn - новый font-size;
    LHо - старый line-height;
    LHn - новый line-height;

    Кроме этого, если хотите чтобы верстка выглядела типографически верно (строки колонок совпадали на всей странице), нужно аккуратно соблюдать кратность отступов margin и padding к высоте строки.
    Ответ написан
    Комментировать
  • Можно ли закруглить средствами css?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Можно вот jsfiddle.net!

    По пунктам:
    - вкладываеш блок с картинкой в релативный контейнер с overflow:hidden;
    - выставляеш внутреннему блоку margin: 0 -10% и ширину 120%;
    - Зкругливаеш внутренние углы ублока не пропорционально, указывая для каждого угла два значения 50% 100%. Регулируя эти значения добивашеся нужного. Если не получается увеличиваеш маргины и ширину во втором пункте, и делаеш значения закрегления угла ближе к 100% 100%.
    Ответ написан
    Комментировать