有人可以告诉我为什么这不起作用吗?
$("textarea.settings").focus(function () {
var size = $(this).height();
console.log(size);
if(size == 40) {$(this).animate({height: 120},"slow");}
}, function () {
$(this).animate({height: 40},"slow");
});
请告诉我为什么?
答案 0 :(得分:6)
focus()
不接受2个参数。如果您的目的是开/关焦点,请使用blur()
:
$("textarea.settings").focus(function () {
var size = $(this).height();
console.log(size);
if(size == 40) {$(this).animate({height: 120},"slow");}
}).blur(function () {
$(this).animate({height: 40},"slow");
});
答案 1 :(得分:1)
$("textarea.settings").on('focus blur',function (e) {
var isFocus = e.type=='focus',
animH = isFocus? 120 : 40;
$(this).animate({height: animH}, 800);
});
您可以在.on([events list])
内列出您的活动
比设置一个布尔变量(isFocus
),您可以分别使用ternary operator
和动画来播放您的尺寸。