Javascript实时更改文本
Javascript change text realtime
如果我想实时更改文本,我该怎么做?(Javascript)
我的HTML是这样的
<p class="fun-fact">This text will fade out</p>
<p class="fun-fact-2">and then this text will fade in</p>
所以我有10个不同的文本,我希望脚本也随机循环,然后实时更新文本(淡出/淡入新文本),每个文本应该在大约10-20秒每个
我的第一个想法是让10个p类具有相同的定位,但让它们以不透明度:0淡出,然后将不透明度更改为1,并将之前的文本更改为不透明度0,会工作吗?
setTimeout(function() {
$(".fun-fact").fadeTo("slow",0);
}, 15000 );
setTimeout(function() {
$(".fun-fact-2").fadeTo("slow",1);
}, 16000 );
试试这个:
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<p id="funFact">This text will change</p>
<script>
var texts = ["first", "second", "third", "etc" ];
var interval = 4000; // 4sec interval
(function change() {
// select random item
var randItem = texts[Math.floor(Math.random() * texts.length)];
var obj = $("#funFact");
function updateText() {
obj.html(randItem).fadeIn();
}
obj.fadeOut(updateText);
setTimeout( change, interval);
})();
</script>
JSFiddle——http://jsfiddle.net/dgzu2/
你可以有一个字符串数组,你想要的值,并让它随机选择一个与您的脚本。
JSFiddle
在这个版本中,你可以有尽可能多的文本字符串,你想要的,并与淡入和不同的文本每次。
var values = ["This text will change", "Some random text", "Additional text to come!", "Hello World!", "Your code is successful!"];
var reload = 2000; //Time in milliseconds
var last = -1;
function updateMessage() {
var i;
do {
//Get random index from values
i = ~~ (Math.random() * values.length); //The ~~ is a fast Math.floor().
} while (i !== last); //Check that you always get different text
last = i;
$('.fun-fact').fadeOut(function () {
$(this).text(values[i]).fadeIn();
});
setTimeout(updateMessage, reload);
}
updateMessage(); //Activate function for the first time
我假设您希望在纯JavaScript中完成此操作。下面是一个示例函数,它将传递所有具有fun-fact
类的元素。在每一个参数上,它都将在text
参数中传递新的文本。
function realtime_text(text, cssClass) {
// Setting a default value for the second arg (class)
if(!cssClass)
cssClass = 'fun-fact';
// Get all elements with the given class
var targets = document.getElementsByClassName(cssClass);
// Nothing found... nothing to do.
if(!targets || 0 >= targets.length)
return;
// Set the text for all found elements
for(i = 0; i < targets.length; i++)
targets[i].innerHTML = text;
}
// ...
realtime_text("Where am I?"); // This call will replace the text
realtime_text("Where are they?", "fun-fact-2"); // This call will replace the text
编辑后我看到你使用jQuery。使用:
$(".fun-fact").html("New text to put goes here...");
$(".fun-fact-2").html("New text for second p goes here...");
这是一个简单的例子,小提琴
<div>
<span>Text 1</span>
<span>Text 2</span>
<span>Text 3</span>
<span>Text 4</span>
<span>Text 5</span>
<span>Text 6</span>
<span>Text 7</span>
<span>Text 8</span>
<span>Text 9</span>
<span>Text 10</span>
</div>
span {
position: absolute;
display: none;
top: 15px;
left: 15px;
}
span:first-child {
display: block;
}
(function($) {
setInterval(function() {
// Get random number between span length and 0 which is the first child
i = Math.floor((Math.random() * $('span').length) + 0);
// Fadein span equal our random number and fadeout his siblings
$('span').eq(i).fadeIn(400).siblings('span').fadeOut(400);
}, 3000);
})(jQuery);
相关文章:
- 使用javascript html实时预览文本区域输入
- 实时协作富文本编辑
- jquery电子邮件提取器实时从文本区域
- 在来自Javascript中实时预览的文本中渲染Markdown
- 无法在实时服务器中发布富文本编辑器内容
- 文本的实时预览使链接在悬停时不会更改背景颜色
- 关于socket.io实时文本显示的问题
- JavaScript 从 1 个文本区域实时更新到多个文本区域
- 如何将在一个文本字段中输入的文本实时复制到多个文本字段
- 如何在我的php注释框中实时替换带有表情符号的文本
- 如何使用 ajax 实时搜索获取脚本文本框中的搜索值
- 我想要输入文本元素中的实时更改事件
- Titanium App (iOS) 中的实时文本区域字符数
- 如何通过此关键字检索实时文本框值和名称
- 如何使用 Google 云端硬盘实时 API 实现协作式富文本编辑
- Javascript从文本框实时进行计算
- 实时复制另一个文本框值 Jquery
- 将实时文本放入容器内
- 您是否知道一个JavaScript库,它可以让您嵌入实时更新网页格式的文本区域
- HTML5输入类型的文本实时获取其值