人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

[Javascript]textareaの伸縮が上手くいきません。
サンプルコードを寄せ集め改造を始めて4日目のド素人です。
YouTubeのAPI検索のプレビュー一覧から目当ての動画の
自サイト用にマークアップした埋め込みコードを切り取れる仕組みを作っています。
コードの入ったtextareaをフォーカスの有無で伸縮させたいのですが作動しません。
大まかな構造は以下。

$.getJSON(url, { alt:'json' }, function(json) {
for () {
//動画データ抽出(省略)
var ip = "動画ID";
var str ="";
str+=/*埋め込みコード(プレビュー用)*/<textarea id="ip" onFocus=\"SetSize("+ip+",200);\" onBlur=\"SetSize("+ip+",18);\" style=\"width: 218p; height: 18px;\" onclick=\"this.select();\">/*埋め込みコード(コピペ用)*/</textarea>
$('div#YTlist').append(str);
}
});
function SetSize(_id,_height) {
var elm = document.getElementById(_id);
elm.style = 'width: 218p; height: _height;';
}

実際のJSファイルは goo.gl/eWSnR
設置ページは goo.gl/o9jOK です。
大きな勘違いや些細なミスなどあると思いますがよろしくお願いします。

●質問者: animeguide
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3
●200ポイント ベストアンサー

サイズ変更のエッセンスだけを取り出したものを書いてみました。
http://jsfiddle.net/UBUuQ/

質問にあるコードをざっと見て、まずそうなところ。

とりあえず、SetSize をこんな感じにすると、うごくような気がします。

function SetSize(_id,_height) {
 var elm = document.getElementById(_id);
 elm.style.height = _height + 'px'; /* ★ここ! */
}

animeguideさんのコメント
ありがとうございます。 書いて頂いたコードに修正したところ希望通りに動いてくれました。 setsize(this, 18)のthisの書き方なども thisがよく理解できなかったので、こう使うのかと感激です。 素早く的確な回答、本当にありがとうございました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ