«前の日記(2002年06月15日) 最新 次の日記(2002年06月17日)» 編集

混沌の庭研究所

1998|06|07|08|09|10|11|12|
1999|03|04|05|06|07|08|09|10|11|12|
2000|01|02|03|04|05|06|07|08|09|10|11|12|
2001|01|02|03|04|05|06|07|08|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|06|07|08|09|10|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|05|06|07|08|10|11|12|
2011|01|03|09|
2012|02|03|
2013|05|12|
2019|10|

2002年06月16日 日曜日 [長年日記]

_ [JavaScript] JavaScriptで画像リサイズ・その2

6/14の続き。width、heightに100%を放り込むにはsetAttribute()というものを使えばよろしいらしい。というわけで、setAttribute()を使って書き換えると次のようになります。

var doc_width = window.innerWidth - 30;
var doc_height = window.innerHeight - 132;
var pic_width = getBrowser().contentDocument.images[0].width;
var pic_height = getBrowser().contentDocument.images[0].height;
if (doc_width / doc_height < pic_width / pic_height) {
	getBrowser().contentDocument.images[0].setAttribute('width', '100%');
} else {
	getBrowser().contentDocument.images[0].setAttribute('height', '99%');
}

[picture_resize JavaScript]

しかし、ドキュメント部分の大きさを取得する方法がわからんのでやっぱり環境依存。window.innerWidthから引いている30はサイドバーのトグル+bodyのマージン分だと思われます。サイドバーを開きっぱなしにしている場合はもっと大きくなるでしょう。逆にサイドバーを非表示にしている場合は小さくなるはず。window.innerHeightから引いている132はタイトルバー+ナビゲーションツールバー+パーソナルツールバー+タブ+ステイタスバーの分。なぜかこちらはbodyのマージン分は入ってない模様。んでもって、widthは100%で問題ないのにheightの場合は100%ではスクロールバーが出てしまうので99%に設定。画像サイズをピクセル数ではなく表示領域に対して100%(あるいは99%)で設定しているので横長な画像の場合はサイドバーの開閉の際に自動的に画像も伸縮するようになっています。……が、縦長な画像の場合は横方向について設定していないのでサイドバーを開閉しても画像のサイズは変わりません。うむう……まあ別に問題ないか。

_ [購入] 今日の買い物

  • 【Comic】BASARA 9/田村由美/小学館
  • 【Comic】BASARA 10/田村由美/小学館

高尾に食料の買い出しに出たついでに購入。久しぶりに買い物してみれば少女漫画という罠。……月末にお給料入るまではガマンだよー。このペースならなんとか月末までお金持ちそうかな。