Ответы пользователя по тегу JavaScript
  • Как реализовать свой зум или дискорд в браузере?

    Newto
    @Newto
    Читайте что такое WebRTC. А далее, быть может, найдете что-то готовое и отвечающее вашим потребностям.
    Ответ написан
    Комментировать
  • Как отображать данные всем после ajax запроса?

    Newto
    @Newto
    Если я правильно понял задачу, то в хотите сделать что-то типа чата. Когда каждый новый пользователь зашедший на страницу отобразится, допустим, в некоем списке. Эта задача решается ТОЛЬКО по средствам веб-сокетов.

    Однако, можно(но не нужно) сделать и иначе(просто для примера). Без сокетов это выглядело бы так, описываю пошагово:
    1. Пользователь заходит на страницу.
    2. Скрипт, который срабатывает после перезагрузки страницы, отправляет запрос аяксом к скрипту, который записывает id пользователя и время его захода в базу данных.
    3) Еще один скрипт, который "стучит" на бэк раз в, скажем, 5 секунд, обновляет список зашедших по логике "если есть id в базе и запись создана не более чем три минуты назад, то отображать пользователя онлайн". Этот скрипт получает таких пользователей и вы имеете отображаемый список.

    Подчеркну, такой подход имеет смысл только в целях самообучения, ради понимания очерёдности действий. Если же реализовывать его в реальных проектах, то это приведёт к перегрузке используемых серверных ресурсов.
    Ответ написан
    2 комментария
  • Как выполнить многомерный index?

    Newto
    @Newto

    Далее присваивайте эти номера и возвращайте в функции, как вариант. А потом работайте с ними как хотите.
    Ответ написан
    Комментировать
  • Что не так в скрипте?

    Newto
    @Newto
    https://codepen.io/Newto/pen/oNybmpO

    Вы просто не обрабатывали все элементы, а обрабатывали только один, первый .content

    upd. А потом вообще изменили так, что перестало что-либо работать :)
    Ответ написан
  • Как получить значения динамически добавленных select js?

    Newto
    @Newto
    <script>
    function getvals() {
    
      var selectors = document.getElementsByName('selectorname');
    
      for (var i=0, slen=selectors.length; i<slen; i++) {
      
        selector = selectors[i];
    	
    	options = selector.querySelectorAll('option');
    	
    	for (var u=0, olen=options.length; u<olen; u++) {
    
    		option = options[u];
    		
    		if(option.selected){ 
    		
    			console.log(option.value);
    		}
    	}
      }
    }
    </script>


    <select name="selectorname" multiple>
    <option value="value 3" class="option">value 3</option>
    <option value="value 4" class="option">value 4</option>
    <option value="value 5" class="option">value 5</option>
    </select>
    
    <select name="selectorname" multiple>
    <option value="value 6" class="option">value 6</option>
    <option value="value 7" class="option">value 7</option>
    </select>


    Ответ написан
  • Как при нажатии на кнопку показывать различные сообщения?

    Newto
    @Newto
    <input type="button" onclick="if(typeof i=='undefined') i=0; function hw(){if(i==0){ alert('Hello'); i++; }else {alert('World')}}; hw();">
    Ответ написан
    Комментировать
  • Почему не удаляется класс через removeClass у видео?

    Newto
    @Newto
    У вас в примере класс "disactive" не прописан. Если он будет в диве с классом video-poster-1, то ваш код работает. Вы только скрипт поставьте ниже HTML кода.
    Ответ написан
  • Как сделать чтобы рандом всегда давал новые значения?

    Newto
    @Newto
    let coinFlip = [
        '900deg',
        '1080deg',
        '1260deg',
        '1440deg',
        '1620deg',
        '1800deg',
        '1980deg',
        '2160deg',
        '2340deg',
        '2520deg'
    ]
    
    let button = document.querySelector('.button');
    button.addEventListener('click',()=>{
        let random = Math.floor(Math.random() * 10);
        console.log(coinFlip[random])
    })
    Ответ написан
    2 комментария
  • Как правильно создать шаблон пустого нового базового проекта?

    Newto
    @Newto
    Вам тут много чего могут насоветовать. Разные есть взгляды на построение файловой архитектуры на сервере.
    Лучшее решение -- это решение, которое примете вы сами. Можно придерживаться только нескольких правил:
    1. Отдельная папка для CSS. Не кладите CSS файлы туда, где лежит что-то еще.
    2. Отдельная папка для ОБЩЕГО js. Т.е. js который вы используете на более чем одной странице, а так же библиотека js функций должны лежать в отдельной директории. Если для отдельных страниц вы используете отдельный js, который нигде более не используется, то его можно положить в папку с отвечающим за страницу php скриптом, как пример: /registration(тут register.php)/js/register.js
    3. Что касается php файлов, то тут так просто не ответить. Обычно есть автоматом подключающиеся файлы с классами и файлы отвечающие за отдельные модули(упрощённо -- страницы). Так, автоподключающиеся файлы вы можете положить в /auto/classes(как вариант), а файлы отвечающие за отдельные страницы структурировать по типу "page/page.php".

    Это если упрощённо.
    Ответ написан
    Комментировать
  • Почему JS-скрипт не срабатывает при выводе из PHP?

    Newto
    @Newto
    alert(thrownError + '\\r\\n' + xhr.statusText + '\\r\\n' + xhr.responseText);}
    Ответ написан
    1 комментарий
  • Как обновить страницу у пользователя при выполнении условия?

    Newto
    @Newto
    Правильная реализация сказана выше Алексеем -- это нужно делать через сокеты.
    Более простая, но нежелательная реализация -- через аякс. Выглядит это примерно так: 1) администратор клацает галочку -> ставится запись в БД (admin_klazz = 1). На стороне пользователей стоит скрипт, который раз в, скажем, 10 секунд проверяет статус этой самой admin_klazz. Если admin_klazz изменяется с 0 на 1, то перезагружается страница. Но если это реляционная база типа MySQL то дергать ее каждые 10 секунд еще и многими пользователями -- очень плохая идея. Однако если у вас стоит, скажем, Redis, и вы будете записывать этот флаг admin_klazz в него, то это сильно минимизирует затраты серверных мощностей.

    Но, как я и сказал выше, правльно -- через сокеты. Остальное -- костыли.
    Ответ написан
    Комментировать