显示一个句子,一次一个字符
我想用jQuery一次一个地显示一个字符。 有没有可以做到这一点的插件或者我怎么能得到这种效果?
你可以写一个小插件来做。 这里有一些东西让你开始(远非完美,只是为了给你一个想法!):
(function($) { $.fn.writeText = function(content) { var contentArray = content.split(""), current = 0, elem = this; setInterval(function() { if(current < contentArray.length) { elem.text(elem.text() + contentArray[current++]); } }, 100); }; })(jQuery);
你可以这样打电话:
$("#element").writeText("This is some text");
这是一个有效的例子 。
看看TickerType插件: http ://www.hungry-media.com/code/jQuery/tickerType/
您引用的网站*使用jQuery Ticker,可在http://www.jquerynewsticker.com/在线找到
它的实现也相对简单:
使用以下jQuery / JavaScript:
有关更多选项和配置详细信息,请参阅插件文档。
*由于其内容,参考网站可能未在OP中列出
这会将字符串转换为数组,并一次将其写出字符。
var str = "This is a sentence".split(''); for (var i=0; i < str.length; i++) { console.log(str[i]); };
var chars = $("#target").html().split(/./); var content = ""; $.each(chars, function(index, value) { content += "
"; }); $("#target").html(content); $("#target span").each(function(){ $(this).show(); });
我最近创建了一个整洁的小js库,没有依赖关系来解决这个问题。 查看Sequencr.js
var stringToPrint = "Hello World!" Sequencr.for(0, stringToPrint.length, function(i) { document.getElementById("output").innerHTML += stringToPrint[i]; }, 200, null);