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