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, время: 02:12. |