Задать вопрос
  • Как отменить изменения в DOM сделанные на js?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Ситуация выглядит как-то неправильно. Обычно либо стилями добиваются разного отображения на разных дисплеях – посмотрите, к примеру, Bootstrap – либо делают вообще отдельную разметку для мобилок и десктопов на разных поддоменах.

    В вашем случае можно держать два дива, в одном меню для десктопа, в другом для мобилки, и только переключать видимость, в зависимости от ширины.

    Ещё можно держать исходную разметку в невидимом теге <script type="template" id="sourceCode">. Скриптом копировать её оттуда, применять изменения и вставлять в DOM. При изменении размера, снова доставать нетронутую исходную разметку и переделывать под другую ширину.
    Ответ написан
    1 комментарий
  • Как избавиться от глобальной переменной?

    profesor08
    @profesor08 Куратор тега JavaScript
    Ну так изолируй. Либо используй модули.

    (function() {
     // your code there
    })();
    Ответ написан
    1 комментарий
  • Как растянуть изображение на весь блок?

    vicodin
    @vicodin
    Имею некоторый опыт
    для картинки
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;

    для родителя
    position: relative;
    Ответ написан
    Комментировать
  • Отображение разной верстки на разных разрешениях. Как правильно?

    @fasnet
    1. Класс hidden-xs это display: none. В свою очередь, display: none -
    Временно удаляет элемент из документа. Занимаемое им место не резервируется и веб-страница формируется так, словно элемента и не было. Изменить значение и сделать вновь видимым элемент можно с помощью скриптов, обращаясь к свойствам через объектную модель. В этом случае происходит переформатирование данных на странице с учетом вновь добавленного элемента.
    Следовательно пользователю изображения не прогрузятся.
    2-3. Тут как душе угодно. НО!!! Ни есть хорошо, когда существует две вёрстки с одинаковым контентом. Я бы со стилями повозился. Да, это займёт больше времени, но зато и профит получишь, и код чище станет, и к карме +100 будет))
    Ответ написан
    2 комментария
  • Как передать значение нажатого checkbox в cURL-запросе?

    amux
    @amux
    alp.ac
    remember=on
    Ответ написан
    Комментировать
  • Верстка сайтов на XML (в топку HTML), кастомные теги и индексация поисковиками, как обстоят дела?

    @codecity
    Лет 10 назад встречались сайты на чистом XML для данных и XSLT для преобразования этих данных в HTML. Причем преобразование работало средствами браузера IE без JS (там была такая функция).

    Многим эта идея нравилась -- разделение на данные и их представление.

    Возможно идея и хорошая, но эволюция так сказать выбрала другой путь -- движение в сторону упрощения. Сейчас, как я вижу, от XML-я вообще отказались, его заменил более простой формат представления -- JSON. Вместо XSLT применяются либо HTML-шаблоны как в Angular, либо JSX.
    Ответ написан
  • Как и где можно научиться делать такие сайты?

    Сайт, который грузится 1.5 минуты и лагает при прокрутке на core i5, ммм, ну даже не знаю. Может быть лучше уж видео ?)
    Ответ написан
    2 комментария
  • Как отправить файл на почту через ajax?

    agmegadeth
    @agmegadeth
    Веб-разработчик в дизайн студии
    в php:
    //Обрабатываем файлы
    if (isset($_FILES)) { //если есть файлы в форме
    	foreach ($_FILES as $file_item) {
    		if (!is_array($file_item['error'])) { //проверяем множественное или нет поле файла
    			if ($file_item['error'] == UPLOAD_ERR_OK) {
    				$mail->AddAttachment($file_item['tmp_name'],$file_item['name']);
    			}
    		} else {
    			foreach ($file_item["error"] as $key => $error){
    				if ($error == UPLOAD_ERR_OK) {
    					$tmp_name = $file_item["tmp_name"][$key];
    					$name = $file_item["name"][$key];
    					$mail->AddAttachment($tmp_name,$name);
    				}
    			}
    		}
    	}
    }
    //Обрабатываем файлы


    Сам аякс запрос у меня такой:
    var form_data = new FormData($(селектор формы));
    
    $.ajax({
    	type: "POST",
    	async: true,
    	url: "/send.php",
    	cache: false,
    	contentType: false,
    	processData: false,
    	data: form_data
    });
    Ответ написан
    1 комментарий
  • Как в CSS сделать такую шкалу?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    если с помощью тега , то края получатся плоскими, как сделать их под таким же наклоном?

    Не использовать нативный progress bar, а написать свой - codepen
    Ответ написан
    Комментировать
  • Как мне сделать, чтобы таблица становилась в один столбик, в четыре строки при просмотре с мобильных?

    @Justina666
    Очень светлая голова. Блондинка я.
    добавить в медиа-запрос с нужным разрешением:
    td.number {
    display: block;
    }
    Ответ написан
    Комментировать
  • Как реализовать вставку изображений из буфера (как вк)?

    @Mysterion
    Посмотрите этот пример, там интересно выводится изображение через canvas. Можете таким образом превью показывать, если изображение валидное, и в hidden input прятать base64 код, который будет отправлен на сервер. На сервере проверять его на валидность тоже.
    Ответ написан
    Комментировать
  • Как задать фоновое изображение конкретной страницы сайта при помощи style.css?

    iiiBird
    @iiiBird Куратор тега CSS
    Пока ты спишь - твой конкурент совершенствуется
    для внутренних страниц для body задай класс к примеру .inner-page а потом bg вешай по этому классу
    к примеру отредактировав header.php в шаблоне примерно так:
    <?php if ( is_home() ) : ?>
    	<body <?php body_class(); ?>>
    <?php else : ?>
    	<body <?php body_class('inner-page'); ?>
    <?php endif; ?>>

    а если тебе нужно сделать bg только на какой то одной странице сайта, то добавляй filter:
    add_filter('body_class', 'add_body_class');
    function add_body_class($classes){
    	if ( is_single(62) )  //62 - id страницы.
    		$classes[] = 'inner-page';
        return $classes;
    }

    p.s. и не слушай тех кто предлагает это делать через js на фронтенде
    Ответ написан
    3 комментария
  • Как проще через JS менять атрибуты элемента SVG?

    petermzg
    @petermzg
    Самый лучший программист
    _elm: function(sel){
         return this._cldElm(this.svg, sel);
    },
    _cldElm: function(elm, sel){
        return elm.querySelector(sel);
    },
    setAttr: function(el, ns, nm, vl){
         el.setAttributeNS(ns, nm, vl);
    },
    setAttrs: function(el, attrs){
         for (var a in attrs)
             this.setAttr(el, null, a, attrs[a]);
    },
    // и пример использования
    var ln = this._elm('.svg-line');
    this.setAttrs(ln, { x1: x - 50, y1: (rowId * 80) + 40, x2: x - 10, y2: y + 35 });
    Ответ написан
    2 комментария
  • Как возобновить кликабельность ссылок?

    советую просто посмотреть в инструментах разработчика

    подозреваю, что ссылки накрываются каким-то блоком

    а приведенный код абсолютно бесполезен
    Ответ написан
    Комментировать
  • Как заблокировать редактирование input,select?

    Stalker_RED
    @Stalker_RED
    Когда вы выставляете disabled на какое-то поле браузер не отправляет содержимое поля на сервер. Если у вас сугубо внутренний проект и предполагается что пользователи не собираются его "хакать" или что они все как у Задорнова тупыыые можете сделать эти поля скрытыми, например. (type="hidden" или стилями display: none;).

    Но вообще так делать нехоршо, ведь любой злоумышленник хоть немного знакомый с консолью вызываемой в браузере по F12 может отредактировать форму, и отправить на сервер что угодно.

    И да, вам скорее всего не понравится то, что сейчас напишут в ответах. Напишут про "выбросить эту лапшу и переписать", про то, что mysql_* функции давно deprecated, и пора перейти на ORM или PDO. Напишут, что права на редактирование полей нужно проверять на сервере, и использовать разные запросы в базу для разных прав. И будут правы.
    Ответ написан
    2 комментария
  • Как заставить Windows открывать приложение от имени администратора?

    @Bobson8
    Системный администратор
    Вы как назначаете запуск от администратора? Если через: правой кнопкой на ярлыке приложения - свойства - совместимость - галочка на "запускать от админа", то желательно еще одну галочку поставить в: правой кнопкой на ярлыке приложения - свойства - дополнительно - галочка на "запускать от админа". Всё должно работать.
    Ответ написан
    5 комментариев
  • Как найти программиста, чтобы он не украл идею?

    malbaron прекрасно расписал в деталях, а вот я попробую подчеркнуть главную мысль:

    Чтобы вашу идею не украли, вы сами должны быть менеджером проекта и уметь разбивать задачу на позадачи.

    Тогда вам понадобится минимальная юридическая защита. Почему? Да потому что вы будете делать работу, которую другие просто не смогут делать за недостатком информации. И этот недостаток не в том, что эта информация закрытая, а вот что другие просто не будут представлять жизненный цикл проекта и как вы его поставили на ноги. Разумеется, какие-то детали будут со временем раскрываться, но если у вашего проекта и бизнеса действительно есть ценность - его просто так никто не повторит, для этого нужно будет проделать большую работу. Именно ту, которую должны делать и вы.

    Во всех организациях и проектах где я участвовал это только подтверждалось. Я знал довольно детально что представляет собой проект, но я представления не имел как создать хотя бы аналог, вывести его на рынок и в каком направлении развивать. И это именно то, что знали руководители и основатели этих проектов. Воровать было нечего, за каждой идеей стояли опыт и знания которых у меня элементарно не было (т.к. я разработчик и у меня опыт и знания соответствующие).

    Поэтому создаётся ощущение что вы либо не понимаете свою роль в ваших больших планах, либо понимаете, но не можете её выполнять. Следовательно, ищите в долю бизнеса человека с опытом, который вас не кинет и который умеет бить задачу на подзадачи. Такое ощущение, что вы говорите, что ищите программиста, а на самом деле хотите именно такого человека, но не хотите брать его в долю, а хотите платить ему зарплату. Как уже правильно подметили, таких тут уже много было. Я думаю, что так не бывает. Когда меня брали на работу, меня не спрашивали в каком направлении развивать продукт и не спрашивали как его писать с нуля.
    Ответ написан
  • Как найти программиста, чтобы он не украл идею?

    @malbaron
    0. Ты тут не первый такой умный. Поищи в поиске. Очень частый вопрос.

    Вы преувеличивайте проблему:

    1. Идея ничего не стоит. Пока не реализована.
    2. У хорошего программиста - полно работы с хорошей оплатой. Время сейчас такое. И что важно - с гарантированной оплатой, в отличие от воровства идей.
    3. Даже если программист хочет что-то там украсть - раскрутить идею это куча усилий. За это время программист потеряет кучу бабла (см. пункт 2). Причем бабло из п. 2 - верняк. А раскрутится ли идея - еще непонятно. А вот усилий на нее нужно будет потратить много-много. За это время потерять кучу верного бабла на работу по основной специальности.

    Юридические:

    4. Попробуй патентовать. Для этого патенты и придуманы.
    5. NDA вы, поди, из статей про стартапы в США услышали. У них другое законодательство. Не знаю в нашей юриспруденции понятия - "неразглашение". Есть "коммерческая тайна". Есть куча описаний как правильно оформить "коммерческую тайну". Договора о неразглашении недостаточно.

    Сюрприз:

    6. А еще есть авторское право. Авторские права останутся у программиста. И он сможет воспользоваться своим продуктом (что важно - уже готовым, в который вкладываться не нужно).
    7. Решается правильным оформлением того, что программист создавал продукт именно для вас и только для вас под зарплату.

    P.S.:
    Более серьезные программисты - менее подвержены этой проблеме.
    У них и репутация и зарплата - незачем воровать.

    Начинающие, тем более, что сейчас рекламируется "быстро срубить денег в ИТ" - скорее подвержены искушению украсть.
    Ответ написан
    8 комментариев
  • Стоит ли использовать вендорные префиксы CSS в 2017 году?

    MedVedar
    @MedVedar
    e-commerce developer
    В 2017 стоит использовать автопрефиксер и не забивать себе голову такими вещами, которые можно автоматизировать.
    Ответ написан
    Комментировать
  • Как правильно впихнуть данные в json?

    evgeniy8705
    @evgeniy8705
    Повелитель вселенной
    1. Распарсить данные с формы (JSON.parse())
    2. Распарсить прочите данные (JSON.parse())
    3. Создать объект и заполнить его полученными данными (let object = {})
    4. Преобразовать объект в JSON формат (JSON.stringify())
    Ответ написан
    Комментировать