Ответы пользователя по тегу JavaScript
  • Почему не добавляет класс?

    Assargin
    @Assargin
    Перед ответом смотрю наличие ✔ в ваших вопросах
    Ваш код:
    // setup autocomplete function pulling from currencies[] array
      $('#autocomplete').autocomplete({
        lookup: currencies,
        onSelect: function (suggestion) {
        	console.log(suggestion);
          var top = $('#'+ suggestion.data).offset().top - 10;
          $('html,body').stop().animate({scrollTop: top}, 500);
          $('#autocomplete').val('');
    
          var scroll = $(window).scrollTop();
          if (scroll) {
              $("#"+ suggestion.data).addClass("active");
              setTimeout(function() {
                $("#"+ suggestion.data).removeClass("active");
              }, 7000);
    
          }
        }
      });

    В чём сакральный смысл получения значения $(window).scrollTop() и условия, основанного на этом значении? Не работает из-за этого.
    А вот это "через раз" - работает только когда у вас страница хоть сколько нибудь проскроллена (больше чем на 0 пикселей)
    Ответ написан
    1 комментарий
  • Как ключ переместить в значение?

    Assargin
    @Assargin
    Перед ответом смотрю наличие ✔ в ваших вопросах
    Не надо строить строку, передавайте данные нативным javascript-объектом. Например:
    $.ajax({
                url: url,
                type: "POST",
                data: {mail: myMail, passw: myPassword},
    ...
    Ответ написан
  • Где и как правильно хранить javascript и jquery?

    Assargin
    @Assargin
    Перед ответом смотрю наличие ✔ в ваших вопросах
    Недавно был вопрос: Как правильно хранить javascript?
    В общем, всё правильно, но скрипты типа jquery лучше тянуть из общедоступных CDN (большая вероятность что он уже закэширован у клиента), ну и сжимать и конкатенировать скрипты (и стили) для отдачи клиенту.
    Ответ написан
    Комментировать
  • Как правильно хранить javascript?

    Assargin
    @Assargin
    Перед ответом смотрю наличие ✔ в ваших вопросах
    Отказываться не нужно, в наше-то время. Несколько общих рекомендаций:
    • В head'е могут быть только самые необходимые скрипты, которым это нужно. Например, аналитика, счётчики, возможно что и jquery (просто по привычке его всегда в head'е прописываю)
    • Остальные скрипты нужно убирать в самый конец страницы.
    • Скрипты, как и стили, кстати, для ускорения загрузки надо сжимать и сливать в один файл
    Ответ написан
    Комментировать
  • FB API. Проверить сделал ли пользователь репост?

    Assargin
    @Assargin
    Перед ответом смотрю наличие ✔ в ваших вопросах
    У FB тоже есть обработка событий: https://developers.facebook.com/docs/reference/jav...
    А конкретно по репосту - вот пара ссылок, 13й год, но работать должно
    stackoverflow.com/questions/20152828/is-there-a-fa...
    stackoverflow.com/questions/20312964/callback-func...
    Ответ написан
    1 комментарий
  • Серверный таймер на jQuery?

    Assargin
    @Assargin
    Перед ответом смотрю наличие ✔ в ваших вопросах
    Какая точность нужна?
    Вообще, вижу 3 способа:
    - от стартующего уходит запрос на сервер, в БД или куда-нибудь ещё ставится флаг "отсчёт начат". Те самые 10к клиентов периодически, раз в секунду к примеру, делают ajax-запрос на сервер и узнают, начался отсчёт или нет. Точность зависит от периодичности запросов + сетевые лаги. Особых требований к софту в этом случае нету, но должен быть хорошо настроен сам вебсервер, чтобы выдерживать такой поток запросов, пусть и очень лёгких.
    - вебсокеты. Все ваши 10к клиентов имеют постоянное соединение с сервером, один из них по сокету посылает серверу сигнал "отсчёт начат", сервер сразу же рассылает его всем остальным. Тут уже надо настраивать демона, к которому собственно 10к клиентов и будут присоединены и который будет принимать и рассылать им сообщения. Точность зависит чисто от сети.
    - есть еще dklab_realplexor от Котерова. Используются long polling-запросы, эдакие "вебсокеты для бедных", но вообще работает решение это неплохо. Сам использовал на продакшне, но на очень маленьких нагрузках, а вот tjournal.ru его использует для организации онлайн-трансляций, и там нагрузки значительно больше.
    Ответ написан
  • Шаринг в одноклассники режет якоря (#something) - как обойти?

    Assargin
    @Assargin
    Перед ответом смотрю наличие ✔ в ваших вопросах
    Сокращатели ссылок помогут, типа bit.ly
    Ответ написан
    Комментировать
  • Как отслеживать события, если JS подключается динамически по аяксу (после построения дом дерева)?

    Assargin
    @Assargin
    Перед ответом смотрю наличие ✔ в ваших вопросах
    $(document).on('click', '.target-class', function(e){
      // doit
    })
    Ответ написан
    Комментировать
  • Как мне сделать правильный ajax запрос?

    Assargin
    @Assargin
    Перед ответом смотрю наличие ✔ в ваших вопросах
    Можно при потере фокуса полем ввода города, отправлять введенное туда значение на сервер, там пробовать искать в БД город по значению, и если есть - возвращать область и страну.
    Ответ написан
  • Как осуществить обработку данных на сервере node.js ?

    Assargin
    @Assargin
    Перед ответом смотрю наличие ✔ в ваших вопросах
    Такую ошибку (1) я видел только в одном случае - когда делается кроссдоменный аякс-запрос, не проходящий через same-origin policy, без соответствующей настройки.
    Ошибка (2) просто логичное следствие (1)

    Посмотрите вот это, и в целом гугл по запросу "crossdomain ajax".
    Ответ написан
    Комментировать
  • Как реализовать управление курсором мыши с сервера?

    Assargin
    @Assargin
    Перед ответом смотрю наличие ✔ в ваших вопросах
    Если вопрос касается именно курсора мыши, то да, никак (без системного доп.софта), если же суть в просмотре действий пользователя и управлении страницей, то извратиться можно. Навскидку: просмотр реализуется, как в Яндекс.Метрике, управление теоретически можно реализовать посредством вебсокетов, отправляя странице инструкции куда нажать (click()), поместить фокус в поле ввода (focus()), задание значений полям ввода (кроме, наверно, поля пароля)
    Ответ написан
    Комментировать
  • Как на Javascript реализовать рандомный вывод целых чисел?

    Assargin
    @Assargin
    Перед ответом смотрю наличие ✔ в ваших вопросах
    Непонятны точные требования, вам нужны целые числа, кратные 250000? Умножайте 250К на round(rand(min, max))
    Ответ написан
    3 комментария
  • Есть ли русскоязычные аналоги Code School?

    Assargin
    @Assargin
    Перед ответом смотрю наличие ✔ в ваших вопросах
    Нисколько не умаляя важности наличия таких курсов на русском для многих людей, оффтопно заявлю, что я с полгода назад, когда начинал обучаться на codeschool и coursera, сразу понимал, на что шел. Ожидание переводов и локализаций счёл бессмысленным, да и какой он еще будет, перевод-то качеством. А проходя курсы напрямую на забугорных проектах, заодно и английский подтянется (кроме разговорного, конечно же). Первыми моими курсами на английском были курсы от Mongo: сначала привыкал долго, до этого никогда не имел опыта в восприятии разговорной речи обычных американцев (субтитры очень помогали), зато потом втянулся.
    Ответ написан
    1 комментарий
  • MongoDB: выборка последних значений

    Assargin
    @Assargin
    Перед ответом смотрю наличие ✔ в ваших вопросах
    Есть 2 пути:
    1) использовать Aggregation Framework для построения запроса
    2) ход конём: при поступлении данных сразу в другую коллекцию сразу записывать/обновлять ваши «последние значения по определенному ключу», с сохранением id записи исходной коллекции, в которой хранится это значение ключа. В таком случае для выборки вам нужно будет просто сделать простой запрос к этой доп.коллекции. Особенно хорошо это решение будет, если у вас ключей немного, причем настолько же хорошо, насколько глупо будет смотреться ворочание этой большой исходной коллекции-хранилища для получения последних значений нескольких десятков ключей…
    Ответ написан