Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.09.2018, 10:25
Профессор
Отправить личное сообщение для giwuf Посмотреть профиль Найти все сообщения от giwuf
 
Регистрация: 16.05.2017
Сообщений: 163

Как переписать функции fadeIn, fadeOut в нативном javascripte?
Есть блоки, которые замещают один одного при клике на кнопку без перезагрузки страницы. Код я написал используя jquery, но теперь думаю, как его переписать в нативном js, чтобы исключить загрузку библиотеки. Особенно интересует как заменить функции fadeIn, fadeOut на равноценные js.

$(function() {

  $('#go').click(function() {
    appearance('#start', '#second');
    return false;
  });

  var appearance = function(slide, content) {
    $(slide).hide('fast', showNewContent);
    $('#load').remove();
    $('#wrapper').append('<span id="load">LOADING...</span>');
    $('#load').fadeIn('normal');

    function showNewContent() {
      $(content).show('normal', hideLoader());
    }

    function hideLoader() {
      $('#load').fadeOut('normal');
    }
  };
});

#load {
  display: none;
  position: absolute;
  right: 10px;
  top: 10px;
  width: 43px;
  height: 11px;
  text-indent: -9999em;
}

#second {
  display: none;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="start">
  <p><strong>Вы готовы к старту?</strong>&nbsp;&nbsp;&nbsp;<a id='go' href=''>Поехали!</a></p>
</div>
<div id="second">
  <p>Товарищи! дальнейшее развитие различных форм деятельности способствует подготовки и реализации направлений прогрессивного развития. Задача организации, в особенности же реализация намеченных плановых заданий требуют от нас анализа системы обучения кадров, соответствует насущным потребностям.</p>
</div>
Ответить с цитированием
  #2 (permalink)  
Старый 24.09.2018, 10:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

giwuf,
http://youmightnotneedjquery.com/#fade_in
Ответить с цитированием
  #3 (permalink)  
Старый 24.09.2018, 10:56
Профессор
Отправить личное сообщение для giwuf Посмотреть профиль Найти все сообщения от giwuf
 
Регистрация: 16.05.2017
Сообщений: 163

Сообщение от рони Посмотреть сообщение
giwuf,
http://youmightnotneedjquery.com/#fade_in
рони, спасибо
а в чем будет отличие fadeout и как в нее поместить параметры типа 'normal' ?
Ответить с цитированием
  #4 (permalink)  
Старый 24.09.2018, 11:10
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

giwuf,
а подумать
400 это и есть 'normal'
Сообщение от giwuf
будет отличие fadeout
от 1 к 0
function fadeOut(el) {
  el.style.opacity = 1;// 1

  var last = +new Date();
  var tick = function() {
    el.style.opacity = +el.style.opacity - (new Date() - last) / 400;//-
    last = +new Date();

    if (+el.style.opacity > 0) {// >0
      (window.requestAnimationFrame && requestAnimationFrame(tick)) || setTimeout(tick, 16);
    }
  };

  tick();
}
Ответить с цитированием
  #5 (permalink)  
Старый 24.09.2018, 11:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

giwuf,
может смены класса будет достаточно?
Ответить с цитированием
  #6 (permalink)  
Старый 24.09.2018, 12:05
Профессор
Отправить личное сообщение для giwuf Посмотреть профиль Найти все сообщения от giwuf
 
Регистрация: 16.05.2017
Сообщений: 163

Сообщение от рони
giwuf,
а подумать
400 это и есть 'normal'
Сообщение от giwuf
будет отличие fadeout
от 1 к 0
Точно! Спасибо!
Сообщение от рони
giwuf,
может смены класса будет достаточно?
рони,
смены класса у блока?
Ответить с цитированием
  #7 (permalink)  
Старый 24.09.2018, 12:15
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от giwuf
смены класса у блока?
да
Ответить с цитированием
  #8 (permalink)  
Старый 24.09.2018, 16:01
Профессор
Отправить личное сообщение для giwuf Посмотреть профиль Найти все сообщения от giwuf
 
Регистрация: 16.05.2017
Сообщений: 163

Сообщение от рони Посмотреть сообщение
да
ок, спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заставить выполняться функции друг за другом Moloch Общие вопросы Javascript 1 16.08.2015 07:53
Как добавить данные в глобальный массив из функции Jigan2 jQuery 2 14.03.2015 18:06
Как вызвать eval в контексте другой функции для доступа к ее локальным переменным? Почемучкин Общие вопросы Javascript 8 29.10.2012 22:31
Как проверить существование функции Aderba Общие вопросы Javascript 2 14.11.2008 16:09
Помогите разобраться в повторным обращении к функции, как её обнулить. AdvoGad Общие вопросы Javascript 0 01.09.2008 11:35