2017-07-06 8 views
-4

私は、1文字あたりの単語ではなく、1単語あたりの単語の入力効果をどのようにするかを考えてきました。これまで私が検索したすべてのリンクは、1文字の文字のタイプライター効果を提供しています。タイピングの効果:単語ごとの単語

https://macarthur.me/typeit/ https://github.com/mattboldt/typed.js/

これは達成することは可能ですか?あるいは何か似たようなことをしましたか?

+0

はい、可能です。 – Anthony

+5

質問には、私たちが解決するためのプログラミングに関連する特定の問題はありません。したがって、stackoverflowのトピックにはありません。 [質問] – Esko

+0

@Esko hm ...質問が間違っていたとは思うが、間違いなく間違っていると思う:/ – Anthony

答えて

3

これはかなり簡単です。 間隔を登録し、テキストを分割し、配列を逆にして最後の項目をポップするだけです。テキストコンテナに追加したもの。完了しました。

JS

var myText = "Some text you want to be typed automagically.."; 
var myWords = myText.split(" ").reverse(); 

var ntrvl = setInterval(function() { 
    addNextWord(); 
}, 150); 

function addNextWord() { 
    var nextWord = myWords.pop(); 
    if(nextWord !== undefined) { 
     var textNow = $(".write-here").text() + " " + nextWord; 
     $(".write-here").text(textNow); 
    } 
} 

あなたはこれをどう思いますか?

JSfiddle

+1

ありがとうございました! :)彼らは解決するために特化したプログラムではないと言う...まだあなたはまだ助けた!ほんとうにありがとう。 :) – Woppi

+0

@ Woppiあなたはコードを改善しました、それはいいです。乾杯! – Manticore

1

一度に1つずつ印刷したいワードで配列を作成します。

const sentence = 'this sentence will be displayed one word at a time'; 
var arrayOfWords = sentence.split(' '); 

for (var i = sentence.length - 1; i >= 0; i--) { 
    setTimeout(function(){ 
     console.log(sentence[i]); // or display another way 
    }, 400) // set this to your desired interval 
} 
+1

また、文字列を作成して関数に分割させることもできます。 –

+0

@PatrickMlrええ、そうです。 splitメソッドを使用すると、手動で入力を切り離すのではなく、ずっと便利になります – Anthony

関連する問題