我需要在textarea中为文本的不透明度设置动画,因此它会逐渐消失。当有人按下enter时会发生这种情况。我已经设置了输入的代码,但是无法让代码动画起作用。 这是我的代码:
$(document).keydown(function(e){
if(e.which === 13){
//here i would like to animate the text
};
});
答案 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)
$(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。