jQuery fadeIn()
Добрый день!
Не могли бы вы подсказать, из-за чего может происходить искажение периода показа элемента, в котором используется эффект fadeIn/fadeOut? Я делала таким образом, $('.class_2, .class_2').stop().delay(12000).fadeOut(5000,someFunction).fadeIn(5000); Несколько циклов они скрываются/отображаются одновременно, но затем одна часть начинает опережать другую. |
Цитата:
Цитата:
|
Спасибо за ответ, но не могли бы вы разъяснить мне еще такую вещь
конструкция Цитата:
Вообще там наблюдаются какие-то периоды "нормальности"/"ненормальности". Почему тогда анимация может выравниваться? |
Цитата:
|
логично:)
Цитата:
Эту проблему можно как-нибудь обойти? Использовать один таймер для всей анимации не получится, потому что он и так один:( |
Цитата:
Хочешь все сделать синхронно - пиши анимацию сама в одном таймере. |
Большое спасибо, я все поняла :yes: .
Сейчас проверила и оказалось, что во время затухания, данные(меняются в функции), вместо одного раза сменяются 21 :blink: , отсюда все проблемы. |
Доброе утро! Разрешите еще такой вопрос :) , проблема возникла из-за того, что функция 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> |
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Спасибо, получается дело совсем в другом. Скорее всего что-то не так с самой someFunction:-? . |
упс.. извините, не сразу заметила, отсюда и непонимание
Цитата:
$('.class_1, .class_2') это два разных класса:-? |
annie88,
тогда можно так var n = 0; function someFunction() { if(n++) return; //ваш код } |
я переписала вызов функции в таком виде:
$('.class_1, .class_2').stop().delay(10000).fadeOut(5000,function(){ for(var i = 0; i < someArray.length; i++) { document.getElementsByClassName('someClass')[i].innerHTML = someArray[i].innerHTML; } }).fadeIn(5000); Может ли наличие цикла повлиять на количество вызовов? функция вызывается только в этом месте и нигде больше и почему-то срабатывает someArray.length+1 раз |
Цитата:
<!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_1,.class_2').stop().delay(12000).fadeOut(5000,someFunction).fadeIn(5000); }); </script> </head> <body> <div class='first'> </div> <div class='class_1'> </div> <div class='class_1'> </div> <div class="class_2"> </div> </body> </html> |
ОГРОМНОЕ ВАМ СПАСИБО!!!!!
так и знала, что что-то упускаю! у меня объектов первого класса получилось someArray.length штук! отсюда и вызовы! Я почему-то думала, что с элементами одного класса будут обращаться как к единому целому:blink: |
Часовой пояс GMT +3, время: 06:10. |