• Как написать скрипт для увеличения width?

    khegay
    @khegay
    Marco142, я не стал вдаваться в весь говнокод, который там. Переписал только верхнюю часть с кликами:

    $('.dot').each(function(index) {
    	$(this).click(function() {
    		var percent = 20; // вот тут задаёте процент
    		var width = (index + 1)*percent;
    		$('.inside').animate({
    			'width' : width + '%'
    		}, 500);
    	});
    });
  • Как написать скрипт для увеличения width?

    khegay
    @khegay
    Ширина чего должна увеличиваться?
  • Как изменить свойства всех div с data-item при нажатии кнопки с id?

    khegay
    @khegay
    e_liza_veta, именно поэтому, когда клиент, либо другой человек, которому нужно решение приходит ко мне - я прошу описать все в тз и помогаю ему в этом за деньги. Тут же бесплатные ответы.

    как сделать, чтобы при нажатии на кнопку

    - где в вашем коде кнопка? У вас указаны a - это ссылки, либо якорные объекты.

    Обращайтесь в этим якорям по названию класса. Берите id и дальше используйте цикл по массиву объектов в галерее:
    $('.path-slider__item').click(function(e) {
        e.preventDefault();
    
        var btnId = $(this).attr('id');
    
        $('[data-item]').each(function() {
            $(this).css({'opacity':'1'})
    
            if ($(this).data('item') !== btnId) {
                $(this).css({'opacity':'0.5'});
            }
        });
    });


    Вместо изменения css, можно добавлять класс.
  • Как изменить свойства всех div с data-item при нажатии кнопки с id?

    khegay
    @khegay
    Alex, ну откровенно - это дерьмо, а не решение. Но какой вопрос и пример кода, такой и ответ
  • Как передать html текст в значение value поля input?

    khegay
    @khegay
    Иван Медведев, тогда вот такой код:
    В форме добавьте два инпута:
    <input type="hidden" name="headline" id="form-headline-input">
    <input type="hidden" name="price" id="form-price-input">

    function openModal(headline, price) {
        var modal = $('#myModal');
        // нужно добавить уникальный класс к h3 и .price
        $(modal).find('.h3-modal__title').text(headline);
        $(modal).find('.modal__price').text(price);
        $(modal).find('#form-headline-input').val(headline);
        $(modal).find('#form-price-input').val(price);
        $(modal).modal('show')
    }
  • Как передать html текст в значение value поля input?

    khegay
    @khegay
    Иван Медведев, JS сам найдет нужный элемент через .find() и потом изменить внутреннюю часть текста через .text()
  • Как сделать упорядочивание div по убыванию и возрастанию?

    khegay
    @khegay
    moiseev1788, Я прочитал вопрос. Повторюсь: сортировка работает по какому-то признаку: id, название, описание либо другой атрибут. Если вы же хотите сделать сортировку по каждому из параметров, то я советую не писать костыли, а взять datatables, если же вы решите писать костыль, то вот код для сортировки через data-sort:
    var result = $('div').sort(function (a, b) {
        var contentA = parseInt( $(a).data('sort'));
        var contentB = parseInt( $(b).data('sort'));
    
        return (contentA < contentB) ? -1 : (contentA > contentB) ? 1 : 0;
    });
    
    $('#mylist').html(result);



    P.S. Хорошей практикой будет сортировка через сервер. Потому что, если данных много, то вступает в работу пагинация, чтобы запросы и ответы были не слишком большими, в таком случае сортировать контент, который только на странице, а не весь не сработает.
  • Как отсечь "Спам запросы" роботов/пользователей?

    khegay
    @khegay
    fail2ban работает с запросами к серверу, а не с формами
  • Какие отличия у NodeJS сервера от LAMP?

    khegay
    @khegay
    Rag’n’ Code Man,
    и последнее, я разрабатываю именно на линуксе + среда разработки в ней же, или я просто разворачиваю сервак на ней, а запросы делаю уже с основной системы, то есть винды?

    Пишите код на вашей основной ОС, а исполняется он в ВМ. То есть, в вашем случае, ВМ – это арендованный сервер, просто он установлен на вашем компьютере.
  • Какие отличия у NodeJS сервера от LAMP?

    khegay
    @khegay
    Rag’n’ Code Man,
    VB ведь будет запущен на одном и том же компьютере => использует одну и ту же память, или речь идёт о каких-то квотах?

    Как раз выделение отдельного места на диске и в памяти – отличительная фишка виртуальных машин. Считайте, что у вас на данный момент одна большая комната в квартире. Виртуальная машина - это строительство отдельной комнаты в этой большой, при этом внутрь этой комнаты без разрешения нельзя попасть, так же как и выйти из этой маленькой комнаты.
    Поэтому, если происходит критическая ошибка внутри ВМ, она никак не влияет на основную систему.
  • Какие отличия у NodeJS сервера от LAMP?

    khegay
    @khegay
    Такой подход необходим, или просто максимально удобен для разработки?

    Максимально удобен. Разрабатываете - поднимаете виртуальную машину, выделив ей 256Мб ОЗУ. Не разрабатываете - выключаете.

    Т.е. может просто OpenServer с NGNX и NODE.JS для отладки и теста работоспособности будет достаточно, а потом уже с деплоем по бодаться, если вообще с этим могут быть траблы?

    Вы бы ещё Denwer взяли. OpenServer, Denwer и т.д. - устаревшие технологии. Вы можете и не ставить виртуальную машину. Вы можете всё локально запустить. Ту же БД можно и локально поставить. И в таком случае, вам не нужно будет даже веб сервер ставить, обращайтесь в запросах к localhost. Только после окончания проекта, как вы будете вычищать БД и ОС? Или напишите вы случайно рекурсивный цикл, который подвесит вашу систему, так как исполняется в вашей системе, а не в отдельной среде для разработки, что будете делать?
  • Размеры экранов для адаптивной верстки jQuery?

    khegay
    @khegay
    turbo78, Ну и как я понимаю, вы начали изучать разработку сайтов. Советы для начала:

    1) Лучше сразу изучайте препроцессоры. Для HTML - Jade(Haml/Slim), для CSS - Sass/SCSS/Less. Это такие надстройки над "языками", которые упрощают написание кода в 10 раз.

    2) Используйте IDE: Webstorm (но он платный), Atom (но он не совсем IDE, а скорее улучшенный текстовый редактор, хотя его можно раскачать до IDE), Sublime (он тоже как бы платный), VS Code (бесплатный и довольно сильный). IDE будет помогать вам отслеживать и дебажить ошибки, будет автоматически подставлять модули, подсвечивать синтаксис и ещё куча вещей.

    3) Используйте сборщики, для старта можно Parcel, потом можно переходить на Gulp/Webpack отдельно. Сборщики проектов будут компилировать ваш SCSS (например) в CSS, при этом с помощью autporefixer будут автоматически расставляться префиксы для всех браузеров (некоторые аттрибуты css имеют разное значение в разных браузерах).

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

    5) Используйте node.js и пакетные менеджеры - npm или yarn. Они помогут вам в подключении сторонних библиотек (например, jQuery), в их обновлении и отслеживании. В последующем, их не всегда лучше использовать для продакшн-версий проектов, иногда стоит подключать библиотеки через script теги в угоду скорости загрузки (но об этом пока не нужно думать)
  • Размеры экранов для адаптивной верстки jQuery?

    khegay
    @khegay
    turbo78, медиа-запросы не обязательно делать через <link>, их можно подключать внутри css , например:
    @media only screen and (max-width: 600px) {
    // тут ваш код
    }


    Ремарка 1:
    Лучше не использовать проценты, пиксели, вьюпорты для размеров верстки. Самый оптимальный вариант для размером: rem - это относительная величина, относительно корневого элемента. Обычно это :root и она обычно равна 16px. em не стоит использовать, так как он относителен родительского элемента.


    Ремарка 2:
    Хорошим тоном является использование готовых фреймворков. Например: bootstrap или bulma. Обычно такие фреймворки включают в себя сброс стандартных стилей браузеров и ОС, адаптивную сетку (для каждой ширины экрана) и наборы элементов (текст, кнопки, таблицы и прочее). Все это хорошо задокументировано.


    Ремарка 3:
    Для своих проектов, я взял за основу SCSS версию бутстрапа, убрал лишние элементы, оставил миксины (это функции внутри таблицы стилей) и использую их. Самая частый миксин: media-breakpoint - этот миксин автоматически добавляет меди-запрос не в целый код, а к конкретному элементу. Например, мне нужно, чтобы отступы у body для ноутбуков были 1rem, но для 4К были 0 - миксины в этом отлично помогают.
  • Как написать ленту новостей как feed в контакте?

    khegay
    @khegay
    Евгений Блинков, Ну как я описал выше:
    - Пользователь совершает действие. Происходит запись в базу данных.
    - Раз в n-минут или секунд, нужно по cron-у запускать задачу, которая будет из базы данных брать записи и после того, как они завершены, удалять из бд, и отправлять в фид эту запись
    - Для контроля всего этого можно установить supervisor, он будет перезапускать процессы и следить за ними

    Вот пример на базе Yii2
  • Как написать ленту новостей как feed в контакте?

    khegay
    @khegay
    Если вы написали фронт на чистом js, то это мрак сильный. Самый простой совет - перейти на готовый фреймворк: Vue/Angular/React. Весь данный функционал описан там очень хорошо и реализуется за полчаса.

    В вашем же случае, нужно использовать AJAX. Но я работал с ним очень давно, и не особо разобрался, поэтому мой совет возможно будет только ухудшением ситуации.

    Можно, конечно, убрать нагрузку с клиента и поставить на сервер. Добавить воркера и очередь, в которую будут добавляться события, воркер в n-время будет высылать уведомления из очереди пользователям. Это снизит нагрузку на сервер, но вы потеряете в скорости информирования.