Я столкнулся с проблемой, которая поставляется с анимацией jquery. У меня есть пользователь, который может щелкнуть по кнопке и на основе этого направления кнопки, которое они нажимают на нее, сдвигает все список (li) элементов в противоположном направлении. Проблема заключается в том, что у меня она настроена на обертку внутри div, поэтому, когда элемент списка заканчивается на одной стороне, он заставляет анимацию сместиться с экрана div, но при этом атрибут стиля css устанавливается на противоположную сторону от экрана поэтому он может быть готов прокрутить вниз для следующего нажатия кнопки. Но когда пользователь нажимает кнопку несколько раз, он разбивает все элементы друг на друга, потому что анимация еще не закончена. Итак, я привязал анимацию stop() к элементам, но затем вторая проблема возникает в том случае, когда пользователь нажимает кнопку быстро несколько раз, элементы никогда не обернутся, они просто останутся без изменений, пока вы не нажмете кнопку медленно или если вы начнете нажимать кнопку быстрее после того, как некоторые из них исчезнут, а затем начните назад медленно, а затем только те, которые были видны, когда медленные все еще обертываются в div до следующего обертывания:jquery анимация завершена по всей доске
быстрый пример:
function Rotate(){
$("li.headline").each(function(){
var left= $(this).css("left");
left=left-100;
if(left>99){
$(this).stop().animation({left:left}, 'slow', function(){
$(this).css("left",left);});
}else{
$(this).stop().animation({left:left}, 'slow', function(){
$(this).css("left",max);}); //max is the max "left" calculated from all list items
}
});
}
$("button.next").click(function(){
Rotate();
});
кто-то может помочь мне
HTML/CSS пример
#scroll{
position:relative;
overflow:hidden;
width:300px
}
.headline{
position:absolute;
float:left
}
<div id="scroll">
<ul>
<li class="headline"><a>First</a>
<li class="headline"><a>Second</a>
<li class="headline"><a>Third</a>
<li class="headline"><a>Fourth</a>
<li class="headline"><a>Fifth</a>
</ul>
<div>
Не могли бы вы опубликовать пример вашего HTML, а? Ссылка на образец jsFiddle.net была бы чрезвычайно полезной при воспроизведении поведения, которое вы видите. –
По-прежнему возникают проблемы с копированием проблемы. Не могли бы вы проверить свой CSS? Я не думаю, что вы имели в виду два стиля стилей. Я вставил ваш код здесь, http://jsfiddle.net/4gR8S/, но не могу дублировать проблему. Обновите и передайте обновленную ссылку с репродукцией. –
вы правы. Я не смог решить проблему, добавив проверку в состояние «если». опубликует с ответом – Jake