サンプルコードを寄せ集め改造を始めて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 です。
大きな勘違いや些細なミスなどあると思いますがよろしくお願いします。
サイズ変更のエッセンスだけを取り出したものを書いてみました。
http://jsfiddle.net/UBUuQ/
質問にあるコードをざっと見て、まずそうなところ。
とりあえず、SetSize をこんな感じにすると、うごくような気がします。
function SetSize(_id,_height) { var elm = document.getElementById(_id); elm.style.height = _height + 'px'; /* ★ここ! */ }
ありがとうございます。
2012/02/15 23:36:12書いて頂いたコードに修正したところ希望通りに動いてくれました。
setsize(this, 18)のthisの書き方なども
thisがよく理解できなかったので、こう使うのかと感激です。
素早く的確な回答、本当にありがとうございました。