アファメーションで独立・起業・夢実現。「いきなり!社長宣言!!」-“夢は口に出すことで実現する!”というアファメーション:ライブラリー

2010年3月28日

Thickboxの画像リサイズ機能をオフにするカスタマイズ。

夢実現のアファメーションを実践する起業家にもっとも読まれているブログは?

画面サイズに対して自動的にリサイズしてくれる便利機能。

Thickboxの画像表示スクリプトには、画面サイズ(スクリーンサイズ)に対して自動的にリサイズする機能があります。

これはこれで便利なんだけど、ノートPCとか、画面サイズの小さいPCだと画像が小さくなりすぎて、画像内の文字が潰れてしまったり、場合によって見栄えが良くなかったりする場合も。

ということで、グーグル先生で検索してみると

  • fixture.jp/blog - thickbox.jsの画像リサイズ機能をオフにする

と、まさにドンピシャなサイトがあるじゃないですか!

ってことでアクセスしてみると...。

ページがない!

残念ながらすで該当ページ(サイト)が無くなっていて、詳細が見れなかった。(泣)

んで、ウェイバックで過去のページが残っていないか調べたら、かろうじてhtmlは残っていました。

んで、解説を読んでみるとThickboxのリサイズ機能部分のコードをコメントアウトすれば良いとのこと。

んで、ソースを見てみると、確かに

// Resizing large images - orginal by Christian Montoya edited by me.

//End Resizing

という記述が。

そのなかの

if (imageWidth > x) {
imageHeight = imageHeight * (x / imageWidth);
imageWidth = x;
if (imageHeight > y) {
imageWidth = imageWidth * (y / imageHeight);
imageHeight = y;
}
} else if (imageHeight > y) {
imageWidth = imageWidth * (y / imageHeight);
imageHeight = y;
if (imageWidth > x) {
imageHeight = imageHeight * (x / imageWidth);
imageWidth = x;
}
}

が、リサイズを実行している該当部分なので、上記をコメントアウトすればリサイズ機能をOFFにすることができます。

ちょっとだけカスタマイズ

でも、なんかリサイズのON/OFFをするためにコメントアウトする・しないってのは、なんかスマートじゃないので、もうちょっと簡単にリサイズのON/OFFをできるようにカスタマイズしてみましょうと。

といっても、コードをちょっと追加するだけだけどね。

まずThickboxのJSの最初で変数を定義。

var resizable = false;

んで、さきほどのリサイズの該当コードをif文でくるむ。

if(resizable != false) {//追加

if (imageWidth > x) {
imageHeight = imageHeight * (x / imageWidth);
imageWidth = x;
if (imageHeight > y) {
imageWidth = imageWidth * (y / imageHeight);
imageHeight = y;
}
} else if (imageHeight > y) {
imageWidth = imageWidth * (y / imageHeight);
imageHeight = y;
if (imageWidth > x) {
imageHeight = imageHeight * (x / imageWidth);
imageWidth = x;
}
}

}//追加

↑それだけです。w

つまり、resizableの値がtrue(false以外)であれば、リサイズを実行して、falseの場合はリサイズしない...という仕組みです。

JSの最初でtrueかfalseを設定すればいいだけなので、ちょっとは簡単になったんじゃないかなと。

この記事に関連する(かもしれない)書籍

 

投稿者 kuro : 2010年3月28日 21:29 | ID:823

ページトップ△

ページトップ△