我们正在尝试实现一个简单的文本轮播,用一些其他单词替换句子中的单个单词。它们将淡入/淡出,容器宽度应缩小/放大以适应新词。听起来很简单,但我们很难过。
应该像www.branch.com上的第二行一样运作。
找不到这个插件?图像轮播肯定,但不是文本,而不是改变前面容器的那个。
它通过单词但容器需要改变宽度。
$('#caption p:gt(0)').hide();
setInterval(function() {
$('#caption span:first-child').fadeOut('slow')
.next('span').fadeIn('slow')
.end().appendTo('#caption');
}, 2000);
这是
<div id="caption">
<span>best</span>
<span>ultimate</span>
<span>excellent</span>
<span>fantastic</span>
</div>
镇上的网站。
#container {
position: relative;
}
#container p {
position: absolute;
top: 0;
left: 0;
}
有什么建议吗?
答案 0 :(得分:3)
我希望这会解决问题http://jsfiddle.net/JVuEv/
function ticker() {
var caption = $('#caption');
var elements = caption.children();
$(elements[0]).fadeOut('slow', function () {
caption.append($(this));
$(elements[1]).show();
});
}
答案 1 :(得分:2)
如果您希望获得更多类似branch.com
的效果,则需要进行以下添加/更改“:
关于CSS :
#caption
需要:
#caption > span
需要:
关于JS :
你需要明确地将#caption
的宽度设置为所显示元素的宽度(每次转换发生时),使用如下所示的soime:
$("#caption").css("width", $(<the_element_to_be_shown>).width());
您还必须设置初始宽度和高度:
$("#caption").css("width", $("#caption > span:first-child").width());
$("#caption").css("height", $("#caption > span:first-child").height());
我在 short demo 中将它们全部放在一起。