有没有办法用jQuery动画textarea的不透明度?

时间:2011-12-11 22:23:21

标签: javascript jquery javascript-events jquery-animate

我需要在textarea中为文本的不透明度设置动画,因此它会逐渐消失。当有人按下enter时会发生这种情况。我已经设置了输入的代码,但是无法让代码动画起作用。 这是我的代码:

$(document).keydown(function(e){
if(e.which === 13){
//here i would like to animate the text
   };
});

4 个答案:

答案 0 :(得分:2)

对于只有文本,我认为你需要jQueryUI,并做这样的事情:

$("#textarea").keydown(function(e){
    if(e.which === 13){
        $(this).animate({color: 'transparent'},1000);
   }
});

这是一个小提琴:http://jsfiddle.net/adeneo/7pkNK/

请注意,光标也会消失,据我所知,唯一的方法是创建一个带有动画gif或其他自定义代码的光标。

答案 1 :(得分:1)

    $(document).keydown(function(e){
     if(e.which === 13){
      $(formelement).animate({ color: "#FFFFFF" }, 600);

   };
});

答案 2 :(得分:0)

这个例子来自JQuery API吗?

<div id="clickme">
   Click here
</div>
<img id="book" src="book.png" alt="" width="100" height="123" />

$('#clickme').click(function() {
  $('#book').fadeOut('slow', function() {
    // Animation complete.
  });
});

查看.fadeIn()和.fadeTo()的API。

在你的情况下,你可以使用$('#text')。fadeOut();

答案 3 :(得分:0)

尝试使用jQuery's fadeOut method

$(document).keydown(function(e) {
    var code = (e.keyCode ? e.keyCode : e.which);
    if (code === 13) {
        //here i would like to animate the text
        $('#idofobject').fadeOut(optionalduration, optionalcallback);
    }
});

根据this SO answer,我会使用代码的第二行检索正在按下的键。


在阅读了对@dremme的评论后,我不相信有一种方法可以淡化只是简单的文本。你必须在你的textarea顶部放置一个div,其中包含文本,删除当前在textarea中的文本,并淡出你的覆盖div。