Задать вопрос
  • Возможможно ли задать двойной стандарт шрифта - буквы одним, цифры вторым?

    In4in
    @In4in
    °•× JavaScript Developer ^_^ ו°
    Я бы на вашем месте зашел бы в FontForge, скрестил бы эти 2 шрифта, назвал бы получившееся Cardana и было бы мне счастье.
    Ответ написан
    Комментировать
  • Возможможно ли задать двойной стандарт шрифта - буквы одним, цифры вторым?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Если вы сделайте некий свой шрифт и загрузите его через Font-face, то да. Но тут понадобится какой-то генератор нестандартный.

    Проще всего цифры оборачивать в какой-то тег, например:
    <p>Некий текст <span class='num'>1234567890</span> и еще некий текст</p>

    И задать для него отдельные стили.
    Ответ написан
    Комментировать
  • Верно ли так записывать foreach для одой строки кода?

    delphinpro
    @delphinpro Куратор тега PHP
    frontend developer
    PSR почитайте, не будет таких вопросов.
    Если кратко по делу - всегда используйте скобки и запись в несколько строк.
    Код нужно писать так, чтобы его было легко читать.
    foreach ($array as $item) {
        $result[] = empty($item) ? 1 : $item;
    }
    Ответ написан
    Комментировать
  • Как правильно размещать jquery код?

    @dmitryKovalskiy
    программист средней руки
    Привязка обработчиков в момент когда все элементы на странице уже точно есть - нормальная практика. Вас смущает размер этой функции?
    Ответ написан
    Комментировать
  • Как разобрать 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 комментария
  • Как узнать на какой странице пользователь?

    @IceJOKER
    Web/Android developer
    var_dump($_SERVER);
    и условие if/switch
    Ответ написан
    Комментировать
  • Как вывести русские названия месяцев на PHP?

    alexclear
    @alexclear
    A cat
    Не использовать функцию date(), в мануале на которую написано:

    To format dates in other languages, you should use the setlocale() and strftime() functions instead of date().

    Сначала надо сделать setlocale(LC_ALL, 'ru_RU.UTF-8');
    Потом использовать для вывода strftime().
    Ответ написан
    2 комментария
  • Как получить данные по https в qt?

    @s0L
    У вас же в логе написано, что не может найти либу OpenSSL
    Ответ написан
    1 комментарий
  • Для чего нужна репутация на тостере?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Зачем отвечать на тостере?
    • Хороший ответ на вопрос поднимает и собственный скилл, часто отвечая на вопрос узнаешь много нового, или открываешь для себя детали, которые раньше упустил
    • Поддерживаешь свои знания в актуальном состоянии
    • Учишься быстро находить информацию, правильно гуглить
    • Учишься понятно выражать свои мысли


    Зачем нужна карма?
    • Для повышения ЧСВ. Тостер в этом смысле пока слабоват, на стаковерфлоу карма работает гораздо круче например
    • Для повышения позиции своего профиля в рейтинге. Топовые позиции хорошо влияют на потенциальных работодателей например.
    Ответ написан
    2 комментария
  • Стоит ли сейчас изучать JQuery?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    вопрос в том, какой смысл вы вкладываете в "учить jquery". Селекторы - jquery использует css селекторы + парочку своих псевдоселекторов. Все остальное - старый добрый JS и DOM. Вот их и учите.
    Ответ написан
    Комментировать
  • Как сделать это с помощью Curl?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    посмотрите, как работает http_build_query, что-то типа этого у вас в последней строчке

    и постройте cURL по примерам, в документации все хорошо описано, оттолкнитесь от php.net/manual/en/function.curl-exec.php
    Ответ написан
    Комментировать
  • Почему съехала шапка?

    aliencash
    @aliencash
    Партизан
    это BOM. сохраните ваши файлы в UTF-8 без BOM и будет все ок.
    Ответ написан
    8 комментариев
  • Возможно ли полностью заменить php на node.js?

    Возможно, но только если вы думаете что на node.js будет это сделать легче чем на PHP, потому что вы немного знаете JS то скорее всего вы заблуждаетесь.
    Ответ написан
    Комментировать
  • Почему if работает неправильно?

    sayber
    @sayber
    Да, я программирую на PHP и еще асинхронно!
    Вы для начала почитайте как ставить равенство.
    Ваша ошибка видна сразу.
    text = "привет"
    Ответ написан
    Комментировать
  • Как вывести var_dump() читабельно?

    usdglander
    @usdglander Куратор тега PHP
    Yipee-ki-yay
    echo '<pre>';
    var_dump($var);
    echo '</pre>';

    И таки да, это print_r :)
    Ответ написан
    Комментировать
  • Как узнать позицию элемента, на который нажали?

    In4in
    @In4in
    °•× JavaScript Developer ^_^ ו°
    Решением был отмечен велосипед, прискорбно.


    roditel.addEventListener("click", function(event){
       [].indexOf.call(this.children, event.target);
    });


    Живой пример от Stalker_RED: ---» тут
    Ответ написан
    3 комментария
  • JQuery: Как добавить класс динамически созданному элементу, если смежное с ним текстовое поле не является пустым?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Корректный код:
    $(".input_has-clear").append("<i class='input__clear'>x</i>");
    
    // Ставим обработчик на событие изменения поля
    $('.input__control').on('change', function () {
        // Находим родительский блок
        $(this).closest('.input_has-clear')
            // в родительском блоке находим нужный элемент
            .find(".input__clear")
            // скрываем или показываем элемент в зависимости от заполненности поля
            // обратите внимание, что toggleClass вторым аргументом принимает чисто булевое значение
            // поэтому при помощи двойного отрицания приводим строку к нему
            // если она пустая - будет false и класс уберется, иначе - добавится
            .toggleClass("input__clear_visible", !!$(this).val());
    });

    jsfiddle.net/koceg/j40vquoo

    В вашем коде очень многое неверно:
    $(function() {
       $(".input_has-clear").append("<i class='input__clear'>");
    
       // 1. Этот код выполнится один раз при загрузке страницы,
       // вам же, наверняка, нужно, чтобы элемент скрывался или показывался
       // динамически по мере редактирования поля
       // 2. .input_has-clear - это span, у него нет value
       if($(".input_has-clear").val() != "") {
          // Логика определения скрытия и показа класса неверная
          // Если повесить на поле обработчик, то при вводе каждой буквы
          // Элемент будет то скрываться, то показываться
          $(this).find(".input__clear").toggleClass("input__clear_visible");
       }
    });


    P.S.
    цикл выполняться не хочет
    В вашем коде нет ни одного цикла.
    Ответ написан
    3 комментария
  • Проблема с JavaScript, где я ошибся?

    Путаница с changeLocation происходит. И из-за этого двойной триггер срабатывает через функцию show_hide_actions.
    Попробуйте хакнуть в core.js 581 строка

    - if(Core.state!==undefined&&names[i-2]!==Core.state)	
    + if(Core.state!==undefined&&names[i-2]!==Core.state && Core.state.indexOf('.html') < 0)
    Ответ написан
    5 комментариев
  • Цикл в PHP с двумя if?

    @mr-molodoy
    if ($oid==79) {
              printf('<li><a href="http://2013.ru">%s</a></li>', $title);	
    } else if ($oid==84) {
              printf('%s', $title);
    } else {
              printf('<li><a href="/dir/%s">%s</a></li>', $oid, $title);
    }
    Ответ написан
    Комментировать
  • Почему такой вариант работы с DOM считается темной стороной силы?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Потому что операции работы с DOM затратны по ресурсам и времени. Если элемент в DOM еще не добавлен, изменять его гораздо дешевле.

    Но в вашем конкретном случае это нормально - вы же работаете со всеми ячейками строки, а не с одной создаваемой. Разве что добавление кнопки "Добавить в корзину" лучше сделать сразу в создаваемую ячейку, тогда и искать ее не надо будет и на операциях с DOM сэкономите.

    Я бы переписал так:
    var classes = ['item-id', 'item-title', 'item-price'],
        table = document.getElementById('table'),
        rows = table.getElementsByTagName('tr'),
        rowIndex, cellIndex, cells, currentRow, currentCell, addToCartCell;
    
    // Пропускаем первую строку, потому что в ней находится заголовок таблицы
    for (rowIndex = 1; rowIndex < rows.length; rowIndex++) {
        currentRow = rows[rowIndex];
        cells = currentRow.getElementsByTagName('td');
    
        for (cellIndex = 0; cellIndex < cells.length; cellIndex++) {
            currentCell = cells[cellIndex];
            currentCell.setAttribute('class', classes[cellIndex]);
        };
    
        addToCartCell = document.createElement("td");
        addToCartCell.innerHTML = '<a class="add_item">Добавить в корзину</a>';
        currentRow.appendChild(addToCartCell);
    };

    Обратите внимание, что упростив код и дав понятные названия переменным, мы избавились от необходимости его комментировать.
    Многие разработчики (и я в их числе) считают необходимость в комментариях признаком плохого кода. Комментировать можно и нужно зачем мы что-то делаем, но что код делает, должно быть понятно из него самого.
    Я оставил один полезный комментарий в качестве примера.

    Помимо этого, мы перенесли объявления переменных в самое начало условной функции, поскольку это широкораспространенное соглашение, облегчающее понимание кода.

    Можно было бы пойти чуть дальше и разбить код на маленькие независимые функции:
    function getTable() {
        return document.getElementById('table')
    }
    
    function getRows(table) {
        var allTableRows = table.getElementsByTagName('tr'),
            rows = [],
            index;
    
        // Пропускаем первую строку, потому что в ней находится заголовок таблицы
        for (index = 1; index < allTableRows.length; index++) {
            rows.push(allTableRows[index]);
        }
    
        return rows;
    }
    
    function appendAddToCartButton(row) {
        var cell = document.createElement("td");
        cell.innerHTML = '<a class="add_item">Добавить в корзину</a>';
        row.appendChild(cell);
    }
    
    function setCellsClasses(row) {
        var classes = ['item-id', 'item-title', 'item-price'],
            cells = row.getElementsByTagName('td'),
            index;
    
        // Обратите внимание, что здесь мы итерируем по классам, а не по ячейкам
        // В том случае, если в функции prepareTable кто-то по ошибке
        // поменяет местами строки добавления классов и кнопки добавления в корзину
        // код не сломается
        for (index = 0; index < classes.length; index++) {
            cells[index].setAttribute('class', classes[index]);
        }
    }
    
    function prepareTable() {
        var table = getTable(),
            rows = getRows(table),
            rowIndex, currentRow;
    
        for (rowIndex = 0; rowIndex < rows.length; rowIndex++) {
            currentRow = rows[rowIndex];
            setCellsClasses(currentRow);
            appendAddToCartButton(currentRow);
        }
    }
    
    prepareTable();

    Но в данном случае, скорее всего, это уже излишне.
    Ответ написан
    Комментировать