Ответы пользователя по тегу JavaScript
  • AJAX vs WebSocket - что лучше для загрузки простого текста с сервера без перезагрузки страницы?

    MrBoriska
    @MrBoriska
    Пэхэпист самоучка, Питоност по Лутцу. C++
    Вебсокеты выбирают в двух случаях:
    1. Когда нужна обратная связь с сервером(тоесть когда сервер может сам вам послать сообщение, а не только отвечать на входящие)
    2. Когда важно иметь маленькие задержки между пересылками данных.

    Между тем, websocket более сложная для разработки технология, чем простейший AJAX.

    Поэтому, если вам не важны вышеперечисленные пункты, выбирайте AJAX.

    socket.io это технология, которая реализует уровень абстракции над всеми этими AJAX, WS, Comet и прочими. Она позволяет наладить аналог полнодуплексной связи с сервером, и в зависимости от возможностей клиента использует либо WS, либо http-binding и т.п.
    Ответ написан
    Комментировать
  • Как принять $_POST массив?

    MrBoriska
    @MrBoriska
    Пэхэпист самоучка, Питоност по Лутцу. C++
    Jq умеет сам формировать представление аргументов запроса. Передавайте их как обычный обьект(или просто массив). Сформировать строку из массива можно используя метод массивов .join()
    $.ajax({
          type: "POST",
          url: "insert.php",
          data: {Value: Value.join(", ")},
          cache: false,
          success: function() {    
                alert("Успешно!");
          }
    });


    UPD:
    Для составления запроса как у вас предпочтительно использовать оператор IN
    "UPDATE table SET `status`='1' WHERE `id` IN  ($value)"


    Но нужно учитывать, что такая подстановка аргументов чревата sql иньекцией. Есть маленькие библиотеки обеспечиващие защиту по такому принципу. Например, от автора статьи и от меня.

    Ваш запрос будет выглядеть примерно так(тут $value это массив, а не строка):
    $db->getRow('UPDATE table SET `status`=1 WHERE `id` IN  (?a)', array($value));
    Ответ написан
    2 комментария
  • Кто знаком с Codrops Image Tint Effect Plugin?

    MrBoriska
    @MrBoriska
    Пэхэпист самоучка, Питоност по Лутцу. C++
    code += '<li class="img-loaded">\
                <img  src="' + settings.images[ind] + '"\
                class="tilt-effect"\
                onload="new TiltFx(this, {opacity: 0.3, extraImgs: 3, movement: { perspective: 1200, translateX: -5, translateY: -5, rotateX: -5, rotateY: -5 }});"\
             /> </div></li>';
    Ответ написан
  • Слайдер на чистом css?

    MrBoriska
    @MrBoriska
    Пэхэпист самоучка, Питоност по Лутцу. C++
    +К ответу Андрей Б.

    Но вообще, лучше слайдер с логикой на javascript. Так Вам будет удобнее. Слайдеры на CSS это уже что-то из серии вывертов. CSS не предназначен для этого. Можно конечно все сделать удобно и с чистым CSS, когда такого рода слайдер управляется со стороны сервера(тоесть через какой-то интерфейс генерируется нужный HTML+CSS и выводится клиенту). Тогда управление содержимым слайдера будет удобным и сам слайдер не будет никак зависеть от JS. Иначе придется постоянно менять что-то в CSS и HTML чтобы добавить слайд, например. В случае с js, чтобы опять же, добавить слайд, скорее всего нужно будет добавить только пару стандартных строк в html.
    Ответ написан
  • Порекомендуйте плагины для анимации?

    MrBoriska
    @MrBoriska
    Пэхэпист самоучка, Питоност по Лутцу. C++
    animate.css и просто подставляйте яваскриптом классы на элементы, когда вам нужно.
    Ответ написан
    Комментировать
  • Серверный таймер на jQuery?

    MrBoriska
    @MrBoriska
    Пэхэпист самоучка, Питоност по Лутцу. C++
    совсем одновременно не получится. Самые лучшие результаты даст WebSocket связь.
    Ответ написан
  • Как создать сайт по таком принципу?

    MrBoriska
    @MrBoriska
    Пэхэпист самоучка, Питоност по Лутцу. C++
    Связать PHP,JS,HTML,MySQL по-другому невозможно. Ну за исключением того, что html по любому будет связан с php, как минимум одной стрелочкой, идущей от php.
    Ответ написан
  • Есть ли смысл использовать BSON вместо JSON при общении по WebSocket?

    MrBoriska
    @MrBoriska Автор вопроса
    Пэхэпист самоучка, Питоност по Лутцу. C++
    В общем смысла нет. На сервере на чуточку быстрее обработка. На клиенте ощутимо медленнее. Вес на 2% меньше... Но при этом оно еще и не читабельно. BSON вместо JSON - ответ нет.

    Попробовали MessagePack. Проверки скорости дали лучшие результаты, но запустить передачу на этом формате так и не удалось. Почему - неизвестно. Функция unpackb возвращает ошибку.

    Итог:
    Всем спасибо)
    Ответ написан
    1 комментарий
  • Как правильно организовать веб приложение, для подгрузки изображений?

    MrBoriska
    @MrBoriska
    Пэхэпист самоучка, Питоност по Лутцу. C++
    Не зная контекста ежеминутную проверку надо. Работать будет так:
    На сервере какой-то скрипт. Этот скрипт получает название всех изображений из папки, запускаясь по Ajax запросу от клиентского скрипта. Кроме того, этот Ajax запрос несет POST данные со списком уже загруженных на клиент изображений. После формирования списка всех изображений в папке скрипт удаляет из него полученные по POST названия изображений. Те что остались возвращает клиенту ответом на запрос в виде названия с расширением. Скрипт на клиенте формирует полный путь до изображения/изображений, потом тег/теги и добавляет его/их на страницу.
    Ответ написан
    Комментировать
  • Как сделать неполный список?

    MrBoriska
    @MrBoriska
    Пэхэпист самоучка, Питоност по Лутцу. C++
    Получить элементы. Пройтись по ним в цикле. После первых пяти пройденных их скрывать.
    На jquery сделать можно с помощью .each()

    $('ul li').each(function(i,elem) {
    	if (i > 5) {
    		elem.hide();
    	}
    });


    Как то так.

    UPD:
    Если делать в точности так, как в примере(тоесть последние пять). То наверно нужно считать количество элементов, и делать аналогичную проверку.
    UPD2:
    Так же, и наверно будет более элеганто. Это проходить по элементам с конца. Используя вместо $('ul li')
    Вот это:
    $('ul li') .get().reverse()
    Ответ написан
    Комментировать