как сделать плавное движение Jquery.animate
Здравствуйте. есть список html:
<ul id="carusel"> <li>товар1</li> <li>товар2</li> <li>товар3</li> <li>товар4</li> <li>товар5</li> </ul> Сделал карусель товаров с помощью функции animate(выводит по 4, по мере выполнения скрипта скрывает крайний товар/сдвигает товары в лево/добавляет товар).
$(document).ready(function() {
setInterval(function () {
var marquee = $('#carusel');
marquee.animate({scrollLeft:marquee.children(':first').width()}, {
duration :'slow',
easing: 'linear',
complete : function() {
marquee.scrollLeft(0).children(':first').appendTo(marquee);
}
});
}, 5000);
});
Все работает, но никак не получается сделать это плавно.Свойство easing: 'linear' не помогло. Подскажите пожалуйста как плавно сделать скрытие/добавление товара плавным? |
Lodas,
а css ? |
рони, не совсем понял вопрос, зачем там каскадные таблицы стилей?
|
Lodas,
чтобы понять что вы двигаите? |
рони, внутри <ul> я двигаю элементы <li> которые в нем находятся. Решение как двигать плавно я все таки не нашел, может подскажете что я делаю не так?
|
рони имеет ввиду используйте css3 анимации или js библиотеки которые их используют (например TweenMax)
|
Lodas,
без css у вас рабочая строка только 8 |
рони, из библиотек использую только jquery, TweenMax и другие в данном куске кода не используются. рони, а как нужно правильно сделать, так чтобы заработала не только 8 строка кода?
|
Lodas,
покажите css вашего блока Цитата:
|
Простейшая карусель на jquery
Lodas,
не хотите тайну выдавать, тогда дальше сами :lol:
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
li{
margin: 0px;
width: 100px; height:50px; float: left;
display: block;
}
#carusel {
position:relative; top: 0px; left:0px; display:block;
width: 500px; height:50px;
padding: 0px; margin: 0px;
}
div{
overflow:hidden; width: 400px; height:50px; position: relative; left: 100px
}
</style>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
$(function () {
function go() {
$('#carusel').delay(3000).animate({
left: '-=100'
}, 2000, function () {
$('li:first').appendTo($(this))
$(this).css({
left: '0px'
});
go()
})
}
go()
})
</script>
</head>
<body>
<div>
<ul id="carusel">
<li id = "1" style="background-color:red;">1</li>
<li id = "2" style="background-color:green;">2</li>
<li id = "3" style="background-color:Yellow;">3</li>
<li id = "4" style="background-color:DeepPink;">4</li>
<li id = "5" style="background-color:MediumBlue;">5</li>
</ul>
</div>
</body>
</html>
|
| Часовой пояс GMT +3, время: 13:45. |