我的密码被困住了。我使用focusin()函数来检测文本区域上的用户交互。我的概念:
var active = false;
myTextAreas.focusin(function() {
if (active == true) {
myTextAreas.animate({"height" : 50}, 300);
$(this).animate({"height" : 150}, 500);
} else {
$(this).animate({"height" : 150}, 500);
active = true;
};myTextAreas =>对象与我的HTML (textareas)。第一次=>做every,第二次=>总是if-语句,它每次都调整所有元素的大小,而不是将我的元素移动到更高的位置。它主要起作用,但是当我第一次做我的小脚本时,我的框是先调整大小的,而另一个框是新的聚焦在一起的,它用新的动画()函数开始得太早了。那就成功了..。嗯。但我觉得我的密码没那么漂亮?
我在我的概念中错过了一个特征。当我聚焦于任何文本区域时,我想让所有元素返回动画,类似于if-语句中的效果。但我怎么能说,做到这一点,但只在我的其他元素,而不是我的集中在文本领域?
也许我的观念不好?我想要一个新的..。顺便说一下。
发布于 2012-04-01 18:33:11
您可以通过使用jquery模糊事件绑定来清除活动变量/需要跟踪' active‘状态??而且不需要在所有输入字段上调用动画。
myTextAreas.on('focus',function() {
$(this).animate({ height : 150 }, 500);
});
myTextAreas.on('blur',function() {
$(this).animate({ height : 50 }, 300);
});演示:http://jsbin.com/axatin/3/edit#javascript,html,live
https://stackoverflow.com/questions/9966919
复制相似问题