文本自动移动以适应动画相邻文本 (jquery):如何平滑
Text automatically moves to accommodate animated adjacent text (jquery): How to smoothen?
我正在使用jquery循环浏览单词。当然,单词大小会发生变化,导致旁边的非动画文本移位。有没有办法平滑这种位置的转变?
我有什么:http://jsfiddle.net/tWm36/121/
我要实现的目标:https://gumroad.com/
看看文本如何平滑地移开以适应正在循环的单词,而不是一个突然的移动?
<div>
<span id="changerificwordspanid">awesome</span>
<span>This is so</span>
(function(){
var words = [
'awesome',
'incredible',
'cool',
'fantastic'
], i = 0;
setInterval(function(){
$('#changerificwordspanid').fadeOut(function(){
$(this).html(words[i=(i+1)%words.length]).fadeIn();
});
}, 2000);
})();
试试这样的东西!
<div>
<div id='words' style='visibility:hidden'>
<span>awesome</span>
<span>incredible</span>
<span>cool</span>
<span>fantastic</span>
</div>
<span id="changerificwordspanid" style='overflow-x:hidden'>awesome</span>
<span>This is so</span>
</div>
我创建了包含文本的隐藏跨度。这允许您获取浏览器计算的宽度。当我们在文本中淡入淡出时,我们将对显示范围的宽度进行动画处理。在显示的范围上设置overflow-x:hidden
很重要,因为它允许宽度小于文本的宽度。使用 fadeOut() 不太正确,因为我们不想在任何时候设置 display:none,因为这会导致生涩的行为。所以只需像这样使用 animate():
(function () {
var words = $('#words span').map(function(i, obj) { return { width: $(obj).width() + 'px', text: $(obj).html() } });
var i = 0;
setInterval(function () {
$('#changerificwordspanid').animate({ opacity: 0.0, width: words[i].width },
400, function () {
word = words[i = (i + 1) % words.length];
$(this).html(word.text);
$(this).animate({ opacity: 1.0, width: word.width });
});
}, 2000);
})();
相关文章:
- 基于文本jquery php更改按钮
- 选择“p文本jquery”
- 附加 HTML 转义文本:jQuery
- 如何知道选中/突出显示的文本jquery的顺序出现
- Action.on('模糊')不't处理输入文本-jQuery 1.9+
- 在当前工具提示文本 JQuery 旁边追加或添加新文本
- 文本自动移动以适应动画相邻文本 (jquery):如何平滑
- 获取锚点的特定文本 - jQuery
- 从文本 jquery 中查找和挑选出模式
- 延迟后如何更改文本 - jQuery.
- 更改按钮文本 jQuery
- 使用 :包含 找到一个文本 jquery
- 获取引导程序单选按钮文本-jquery
- onchange函数转换为输入文本JQuery的数组
- 语法错误未终止字符串文本jquery
- 将输入占位符文本与span文本jquery交换
- 更改数值为文本- jQuery / NivoSlider
- 在文本区搜索指定的文本- jQuery/Javascript
- 一个字一个字地突出显示文本(jquery)(关闭)
- 无终止字符串文本jquery或更多