0

我正在尝试创建 html 页面,当用户在 textarea 中键入时,笔将在其中移动。为了创建动画,就好像它在写作一样,我正在上下移动笔。动画在 chrome 中运行良好,但在 IE 中滞后。请建议我如何提高动画的速度并使其像用户类型一样编写。虽然 IE8 不如 chrome 或任何其他浏览器,但代码应该可以在 IE8+ 中运行,请帮助

  var contentHeight = $("#Typing").textareaHelper('height');
            $("#Typing").height(contentHeight);
            localleft = $("#Typing").textareaHelper('caretPos').left + 280;
            localtop = $("#Typing").textareaHelper('caretPos').top;

            $('#Feather').animate({ left: (($("#Typing").textareaHelper('caretPos').left) + 270) },1,animation2);
            $('#Feather').animate({ top: (($("#Typing").textareaHelper('caretPos').top) - 8) }, 1);
            $('#Feather').animate({ left: (($("#Typing").textareaHelper('caretPos').left) + 280) }, 1);
            $('#Feather').animate({ top: $("#Typing").textareaHelper('caretPos').top }, 1);
4

1 回答 1

1

嗯,我要优化的第一件事就是你一直在搜索 DOM。每次你这样做。

$("#Typing")

您正在页面中搜索该元素。最好加载一次然后对其进行操作。

var $typing = $("#Typing");
// do your animations with $typing.animate();

它可能无法解决整个问题,但它是一个开始。

编辑:对 $("#Feather") 做同样的事情

于 2013-03-05T06:20:03.727 回答