Плавный выход текста
1.
YouMobe (19.12.2013 / 10:45)
Этот код осуществляет выход текста вверх, до указанной высоты и ширины, выход текста резкий, хочу придать плавность при появлении текста, как сделать это?
$(function() {
//cache the ticker
var ticker = $("#ticker");
//wrap dt:dd pairs in divs
ticker.children().filter("dt").each(function() {
var dt = $(this),
container = $("<div>");
dt.next().appendTo(container);
dt.prependTo(container);
container.appendTo(ticker);
});
//hide the scrollbar
ticker.css("overflow", "hidden");
//animator function
function animator(currentItem) {
//work out new anim duration
var distance = currentItem.height();
duration = (distance + parseInt(currentItem.css("marginTop"))) / 0.025;
//animate the first child of the ticker
currentItem.animate({ marginTop: -distance }, duration, "linear", function() {
//move current item to the bottom
currentItem.appendTo(currentItem.parent()).css("marginTop", 0);
//recurse
animator(currentItem.parent().children(":first"));
});
};
//start the ticker
animator(ticker.children(":first"));
//set mouseenter
ticker.mouseenter(function() {
//stop current animation
ticker.children().stop();
});
//set mouseleave
ticker.mouseleave(function() {
//resume animation
animator(ticker.children(":first"));
});
});
2.
Снежана Ночева (19.12.2013 / 18:25)
Перед текстом вставляешь
<marquee direction="up" scrollamount="1" scrolldelay="20" onmouseover="this.stop()" onmouseout="this.start()" height="220"><br>
а после теста, в последней строке, закрываем
</marquee>
С цифрой 220 можешь поэспериментировать
3.
Александр (19.12.2013 / 20:18)
Для выхода блока есть же slide вроде
api
4.
YouMobe (19.12.2013 / 22:55)
вот пример,
http://boltun.mobi/, заметили как текст резко появляется, как придать плавность?
5.
YouMobe (19.12.2013 / 23:57)
по ходу не получиться((
6.
Александр (20.12.2013 / 02:40)
Нет ничего не возможного) С тебя печенька
$(function() {
//cache the ticker
var ticker = $("#ticker");
//wrap dt:dd pairs in divs
ticker.children().filter("dt").each(function() {
var dt = $(this),
container = $("<div>");
dt.next().appendTo(container);
dt.prependTo(container);
container.appendTo(ticker);
});
//hide the scrollbar
ticker.css("overflow", "hidden");
//animator function
function animator(currentItem) {
// PROFIT!
currentItem.css("opacity", 0);
//work out new anim duration
var distance = currentItem.height();
duration = (distance + parseInt(currentItem.css("marginTop"))) / 0.025;
//animate the first child of the ticker
currentItem.animate({ marginTop: -distance}, duration, "linear", function() {
// PROFIT!
currentItem.fadeTo(2000, 1);
//move current item to the bottom
currentItem.appendTo(currentItem.parent()).css("marginTop", 0);
//recurse
animator(currentItem.parent().children(":first"));
});
};
//start the ticker
animator(ticker.children(":first"));
//set mouseenter
ticker.mouseenter(function() {
// PROFIT!
ticker.children(":last").css("opacity", 1);
//stop current animation
ticker.children().stop();
});
//set mouseleave
ticker.mouseleave(function() {
//resume animation
animator(ticker.children(":first"));
});
});
7.
YouMobe (20.12.2013 / 08:12)
круто, исчезновение тоже плавное сделаешь?))
Добавлено через 00:35 сек.
6. Пока нет балов, не забуду +)
8.
Александр (20.12.2013 / 14:02)
Я спать лег потом) Есть недочеты там. Первый блок также пропадае при анимациит. Надо тоже пофиксить)
9.
Александр (20.12.2013 / 14:19)
$(function() {
//cache the ticker
var ticker = $("#ticker");
//wrap dt:dd pairs in divs
ticker.children().filter("dt").each(function() {
var dt = $(this),
container = $("<div>");
dt.next().appendTo(container);
dt.prependTo(container);
container.appendTo(ticker);
});
//hide the scrollbar
ticker.css("overflow", "hidden");
//animator function
function animator(currentItem) {
// PROFIT!
$("#ticker").children(":first").fadeTo(2000, 0);
//work out new anim duration
var distance = currentItem.height();
duration = (distance + parseInt(currentItem.css("marginTop"))) / 0.025;
//animate the first child of the ticker
currentItem.animate({ marginTop: -distance}, duration, "linear", function() {
// PROFIT!
currentItem.fadeTo(1000, 1);
//move current item to the bottom
currentItem.appendTo(currentItem.parent()).css("marginTop", 0);
//recurse
animator(currentItem.parent().children(":first"));
});
};
//start the ticker
animator(ticker.children(":first"));
//set mouseenter
ticker.mouseenter(function() {
// PROFIT!
ticker.children().css("opacity", 1);
//stop current animation
ticker.children().stop(true);
});
//set mouseleave
ticker.mouseleave(function() {
//resume animation
animator(ticker.children(":first"));
});
});
вот поправил
10.
YouMobe (20.12.2013 / 15:21)
хм.. дёргается всё равно, вот смотри lifecms.ru на главную зайди
11.
Александр (20.12.2013 / 15:39)
Конечно, где мой профит?
12.
YouMobe (25.12.2013 / 09:06)
Всё равно какие то глюки присутствуют...
Добавлено через 05:46 сек.
это наверно из за торможения stop текста
URL:
https://visavi.net/topics/39732