Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.10.2015, 13:30
Аватар для annie88
Кандидат Javascript-наук
Отправить личное сообщение для annie88 Посмотреть профиль Найти все сообщения от annie88
 
Регистрация: 25.09.2015
Сообщений: 101

jQuery fadeIn()
Добрый день!
Не могли бы вы подсказать, из-за чего может происходить искажение периода показа элемента, в котором используется эффект fadeIn/fadeOut?

Я делала таким образом,
$('.class_2, .class_2').stop().delay(12000).fadeOut(5000,someFunction).fadeIn(5000);

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

Последний раз редактировалось annie88, 20.10.2015 в 13:36.
Ответить с цитированием
  #2 (permalink)  
Старый 20.10.2015, 13:52
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от annie88
Несколько циклов они скрываются/отображаются одновременно, но затем одна часть начинает опережать другую.
JS не является языком реального времени...
Цитата:
Производительность

Большое количество таймеров может привести к серьезной нагрузке на процессор.

Это в первую очередь касается приложений, в которых одновременно анимируется большое количество объектов. В этом случае, по возможности, следует использовать один таймер, который выполняет всю анимацию, а не множество независимых.
http://javascript.ru/setTimeout
Ответить с цитированием
  #3 (permalink)  
Старый 20.10.2015, 14:11
Аватар для annie88
Кандидат Javascript-наук
Отправить личное сообщение для annie88 Посмотреть профиль Найти все сообщения от annie88
 
Регистрация: 25.09.2015
Сообщений: 101

Спасибо за ответ, но не могли бы вы разъяснить мне еще такую вещь
конструкция
Сообщение от annie88
$('.class_2, .class_2').stop().delay(12000).fadeOut(5000,someFu nction).fadeIn(5000);
находится в функции, которая запускается по таймеру(он один).
Вообще там наблюдаются какие-то периоды "нормальности"/"ненормальности". Почему тогда анимация может выравниваться?

Последний раз редактировалось annie88, 20.10.2015 в 14:28.
Ответить с цитированием
  #4 (permalink)  
Старый 20.10.2015, 14:15
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от annie88 Посмотреть сообщение
конструкция
$('.class_2, .class_2').stop().delay(12000).fadeOut(5000,someFu nction).fadeIn(5000);
находится в функции, которая запускается по таймеру
Не важно как запускается твоя "конструкция"... Важно как она работает потом.
Ответить с цитированием
  #5 (permalink)  
Старый 20.10.2015, 14:41
Аватар для annie88
Кандидат Javascript-наук
Отправить личное сообщение для annie88 Посмотреть профиль Найти все сообщения от annie88
 
Регистрация: 25.09.2015
Сообщений: 101

логично
Сообщение от ksa
Не важно как запускается твоя "конструкция"... Важно как она работает потом.
, а работает она плохо...
Эту проблему можно как-нибудь обойти?
Использовать один таймер для всей анимации не получится, потому что он и так один
Ответить с цитированием
  #6 (permalink)  
Старый 20.10.2015, 15:12
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от annie88
Использовать один таймер для всей анимации не получится, потому что он и так один
В том-то и дело, что не один. Потому-то у тебя и идет разнобой в отрисовке.

Хочешь все сделать синхронно - пиши анимацию сама в одном таймере.
Ответить с цитированием
  #7 (permalink)  
Старый 20.10.2015, 15:36
Аватар для annie88
Кандидат Javascript-наук
Отправить личное сообщение для annie88 Посмотреть профиль Найти все сообщения от annie88
 
Регистрация: 25.09.2015
Сообщений: 101

Большое спасибо, я все поняла .
Сейчас проверила и оказалось, что во время затухания, данные(меняются в функции), вместо одного раза сменяются 21 , отсюда все проблемы.
Ответить с цитированием
  #8 (permalink)  
Старый 21.10.2015, 11:38
Аватар для annie88
Кандидат Javascript-наук
Отправить личное сообщение для annie88 Посмотреть профиль Найти все сообщения от annie88
 
Регистрация: 25.09.2015
Сообщений: 101

Доброе утро! Разрешите еще такой вопрос , проблема возникла из-за того, что функция someFunction запускается несколько раз при такой конструкции:
Сообщение от ksa
$('.class_2, .class_2').stop().delay(12000).fadeOut(5000,someFunction).fadeIn(5000);
Что нужно сделать, чтобы она запускалась только один раз?
Ответить с цитированием
  #9 (permalink)  
Старый 21.10.2015, 11:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от annie88
'.class_2, .class_2'
зачем масло масляное?
Сообщение от annie88
что функция someFunction запускается несколько раз при такой конструкции
проблема в другом месте
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  div  {
     height: 100px;
     width: 100px;
      background-color: #D2B48C;
  }

  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
$(function(){
var n = 1;
function someFunction()
{
   $('.first').html(n++)
}
$('.class_2').stop().delay(12000).fadeOut(5000,someFunction).fadeIn(5000);
});


  </script>
</head>

<body>




<div class='first'>

</div>
<div class="class_2">
</div>


</body>

</html>
Ответить с цитированием
  #10 (permalink)  
Старый 21.10.2015, 12:45
Аватар для annie88
Кандидат Javascript-наук
Отправить личное сообщение для annie88 Посмотреть профиль Найти все сообщения от annie88
 
Регистрация: 25.09.2015
Сообщений: 101

Сообщение от рони
Сообщение от annie88
'.class_2, .class_2'
зачем масло масляное?
я не знаю как это обойти. У меня объекты с этими классами должны исчезать и появляться одновременно.
Сообщение от рони
проблема в другом месте
я не совсем понимаю, что вы хотите сказать.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамический подсчет в таблице muraig jQuery 5 11.10.2014 16:54
Ни один скрипт и плагин не видит Jquery razorg1991 jQuery 5 30.03.2014 14:51
хочу инвайт на хабр macdack Оффтопик 45 28.07.2013 23:18
Вопрос поддержки старых методов jQuery antonM jQuery 1 04.10.2012 00:08
JQUERY fadeIn и fadeOut ПРОБЛЕМА RomanVasin Элементы интерфейса 6 30.05.2010 11:19