1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Знатоки HTML5 History API - Сюда!

Тема в разделе "Оффтопик", создана пользователем W_0rld, 31 дек 2016.

  1. Cames

    Cames Старожил Пользователь

    Баллы:
    153
    Skype:
    sky_meg
    И закрыть сразу шлак этот поганый.
     
  2. Negezor

    Negezor Активный участник Пользователь

    Баллы:
    78
    Хе, хе) Ну для понятия структуру неплохо, а уже потом стоило бы глянуть в сторону React, Backbone и т.д. Но не jQuery, это слишком прост и бесполезно в 2к17 для разработок, почему никто не хочет писать чистый и красивый код?
     
  3. Cames

    Cames Старожил Пользователь

    Баллы:
    153
    Skype:
    sky_meg
    Бэкбон старый. Сейчас нужно смотреть в сторону react и vue. За ними будующее.
    Никто не хочет писать классный код потому, что это сложно. Архитектура, доки, тесты - все это чуждо местным "разработчикам".
     
  4. Negezor

    Negezor Активный участник Пользователь

    Баллы:
    78
    Ну да... это печально... Ну каждый с чего начинал, а начал с того время когда был JS ещё тьмой густой, HTML не 5 и CSS не 3... Хотя это уже относится непосредственно к фронтеду, меня больше бэкенд манит. Современный стак просто прекрасен!
     
  5. Cames

    Cames Старожил Пользователь

    Баллы:
    153
    Skype:
    sky_meg
    Как действующий фуллстек могу тебе сказать, что современный бэкенд скучен до чертиков) на той же ноде есть решения под всевозможные требования. Бери и юзай. Про пыху я вообще молчу)
     
  6. Negezor

    Negezor Активный участник Пользователь

    Баллы:
    78
    Это так, но я и сам постоянно выкладываюсь в это сообщество что всё было лучше)
    Тут уж скорее нужно научится правильно выбирать.
    Всё же Node JS + ES(6, 7) некое спасения синтаксическим сахаром)
     
  7. Cames

    Cames Старожил Пользователь

    Баллы:
    153
    Skype:
    sky_meg
    Дай линк на гитхаб)
     
  8. Negezor

    Negezor Активный участник Пользователь

    Баллы:
    78
    github.com/negezor
     
  9. Автор темы
    W_0rld

    W_0rld Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    World
    Вот щас, когда уже вся логика кода готова, можно переделывать все на чистом js.

    Кстати, как думаете не трудно ли будет переписать весь код на чистый js, ибо мне будет трудно и долго разбираться как все переделывать в чистый Javascript. Вот код:
    Код:
    $('document').ready(function(){
    $('.historyAPI').on('click', function(e){     
    e.preventDefault();
    var href = $(this).attr('href');
    ajax('get', href, null, false);
        });
    });
    
    $("body").on("click", '#register', function() {
    $(".auth").slideUp();
    $(".register").slideDown();
    $("#form").html("Регистрация");
    });
    $("body").on("click", '#auth', function() {
    $(".auth").slideDown();
    $(".register").slideUp();
    $("#form").html("Авторизация");
    });
    $("body").on("click", '.list a, #ajax', function() {
    href = $(this).attr("href");
    ajax('get',href, null, true);
    return false;
    });
    $("body").on("submit", 'form', function() {
    action = $(this).attr("action");
    ajax('post',action,this,false);
    return false;
    });
    function ajax(type,href,id,historyUpdate)
    {
    $("a,input[type='submit'],button").attr("disabled", "disabled");
    if (type == "get")
    {
    $.ajax({
    type: 'GET',
    url: href,
    success: function(data){
    dataTitle = $(data).filter("title").html();
    dataContent = $(data).filter(".content").html();
    dataSidebar = $(data).filter(".sidebar").html();
    $('.content').html(dataContent);
    $(".sidebar").html(dataSidebar);
    document.title = dataTitle;
    if (historyUpdate)
    {
    history.pushState(null, null, href);
    }
    $("[disabled='disabled']").removeAttr("disabled");
    }
    });
    }
    if (type == "post")
    {
    $.ajax({
    url: href,
    type: 'POST',
    data: $(id).serialize(),
    dataType: 'json',
    success: function(json) {
    if (json.message == "<p>Вход выполнен успешно!</p>" || json.message == "<p>Успешная регистрация!</p>")
    {
    ajax("get",location.pathname);
    }
    $('.message').html(json.message);
    $('.message').slideDown().delay(5000).slideUp();
    $("[disabled='disabled']").removeAttr("disabled");
    }
    });
    }
    }
    window.addEventListener('popstate', function(event) {
    ajax('get', location.pathname);
    }, false);
    function quit()
    {
    $.cookie('login', null, { path: '/' });
    $.cookie('password', null, { path: '/' });
    ajax('get','/');
    }

    Нашел интересный сайтик, но инфы на нем мало.
    http://youmightnotneedjquery.com/
     
    Последнее редактирование: 2 янв 2017
  10. Cames

    Cames Старожил Пользователь

    Баллы:
    153
    Skype:
    sky_meg
    Этот кусок кода можно переписать за пол часа.
    Кроме вот этого кала. Его бы я вообще выкинул.
     
  11. Negezor

    Negezor Активный участник Пользователь

    Баллы:
    78
    Согласен, такое нужно на CSS делать, во первых оптимизация, а во вторых рендер на GPU
     
  12. Cames

    Cames Старожил Пользователь

    Баллы:
    153
    Skype:
    sky_meg
    И работать будет в 60fps на всех девайсах.
     
  13. Автор темы
    W_0rld

    W_0rld Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    World
    А разве можно сделать анимацию плавно выезда блока?
    Пробовал менять height с помощью transition - плавно объект не менял высоту...
     
  14. Cames

    Cames Старожил Пользователь

    Баллы:
    153
    Skype:
    sky_meg
    Конечно. Почитай про CSS анимации более подробно.
     
  15. Автор темы
    W_0rld

    W_0rld Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    World
    Прочитал. Похоже, что мой вариант:
    -webkit-transform:translate(0,0); (когда надо показать блок)
    -webkit-transform:translate(0,100%); (когда надо скрыть)

    Это работает, а можно ли тогда на css задержать показ блока на 5 сек через css?
    Или тут уже javascript только?
     
  16. Cames

    Cames Старожил Пользователь

    Баллы:
    153
    Skype:
    sky_meg
    Keyframes
     
  17. Negezor

    Negezor Активный участник Пользователь

    Баллы:
    78
    Как уже и сказал @Cames, достичь этого эффекта можно через keyframes, освоить их очень легко.
    Но если ты не хочешь ничего делать, используй Animate.css
     
  18. Автор темы
    W_0rld

    W_0rld Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    World
    Уже сделал.
     

Поделиться этой страницей