拉斐尔.js - 交换文本中的字符(动画)



我很喜欢Raphaël.js库。

假设我们有text:

paper.text(10,10, "James");

在事件click上,我想激活在这个文本中交换字符的动画。例如,从James到sameJ。

我想看看这个动画是如何改变字母的。

你能帮我一下吗?

有什么建议和想法吗?

看一下这个例子:http://jsfiddle.net/InferOn/sVB8C/13/embedded/result/

玩得开心!!

与RaphaelJS没有什么特别的关系,只有几个javascript函数,真正的问题是当你决定在你的文本中添加一些换行

<div id="holder" style="position: absolute; top: 50%; left: 50%; margin-top: -150px; margin-left: -200px; "></div>
Javascript

var paper = Raphael("holder", 700, 300);
    var messageText = "Why don't try yourself before asking your question?";
    messageText = Swap(messageText);
    var msg = paper.text(0, 20, messageText).attr({ "text-anchor": "start", "font-size": 21, "font-family": "Courier New" });
    function Swap(text) {
      return text.split('').reverse().join('');
    }
    var array = messageText.split("");
    var loopTimer;
    msg[0].textContent = '';
    function Looper() {
      if (array.length > 0) {
        msg[0].textContent += array.shift();
      } else {
        clearTimeout(loopTimer);
        return false;
      }
      loopTimer = setTimeout('Looper()', 70);
    };
    Looper();
    setTimeout(function () {
      messageText = Swap(messageText);
      array = messageText.split("");
      msg[0].textContent = '';
      Looper();
    }, 100 * messageText.length);

最新更新