2

なぜこれがうまくいかないのか誰か教えてください。

$("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");
        });

どうしてか言ってくれない?

4

2 に答える 2

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");
});
于 2012-11-16T14:34:08.107 に答える
1

jsBin デモ

$("textarea.settings").on('focus blur',function (e) {
    var isFocus = e.type=='focus',
        animH = isFocus? 120 : 40;
    $(this).animate({height: animH}, 800);
});

.on([events list]) ブール変数 ( ) を設定するよりも、内部にイベントをリストすることができます。それぞれ a と animateisFocusを使用してサイズを操作できます。ternary operator

于 2012-11-16T14:38:55.823 に答える