エレメントの右端・下端・右下隅をマウスでドラッグして、 縦・横のピクセル数を変更できるようにします。
Internet Explorer 6.0、 Firefox 1.0、 Opera 8.0 で動作確認をしています。
ブラウザ依存の制限として、
Opera 8.0 ではエレメントの横幅を縮小(←)することはできません。
エレメントの横幅拡大(→)や、高さ拡大(↑)縮小(↓)はできます。
Opera 8.0 以外では、横幅の縮小も問題ありません。
エレメントの上端・左端を利用したサイズ変更はできません。
右端・下端のみドラッグ→サイズ変更できます。
JKL.Resizable は、下記アーカイブ中の jkl-resizable.js 単独で動作します。
jkl-resizable-0.04.tar.gz TAR-GZ
.tar.gz 版と .lzh 版の内容は同じです。(アーカイブ形式のみ違う)
右や下の枠を動かすことで、 このエリアの大きさを変更できます。 |
|
このサンプルのソースは以下のとおりです。
<head> <script type="text/javascript" src="jkl-resizable.js"></script> <script type="text/javascript"><!-- function res1_init () { var res1 = new JKL.Resizable( "res1_body" ); res1.resizeTo( 320, 160 ); res1.setEast( "res1_east" ); res1.setSouth( "res1_south" ); res1.setSouthEast( "res1_southeast" ); }; //--></script> </head> <body onload="res1_init();"> (中略) <table border="0" cellpadding="0" cellspacing="0" style="border: 1px #9999FF solid;"> <tr> <td id="res1_body"> 右や下の枠を動かすことで、<br> この本文エリアの大きさを変更できます。 </td> <td id="res1_east" style="width: 6px; background: #9999FF;"></td> </tr> <tr> <td id="res1_south" style="height: 6px; background: #9999FF;"></td> <td id="res1_southeast" style="width: 6px; height: 6px; background: #6666CC;"></td> </tr> </table>
本文エリアと別に、ドラッグ用の右側・下側・右下側に
マウスで“掴める”枠エリアを用意してあります。
枠エリア上にマウスカーソルが乗ると、
自動的にドラッグ用カーソル形状に切り替わります。
マウスカーソルの形状をスタイルシートで指定する必要はありません。
このサンプルでは3方向にサイズ変更ができますが、
このうち1箇所だけに“掴める”枠エリアを用意することで、
1方向のみのサイズ変更できるボックスも作成可能です。
(例:縦方向のみに上下できるボックス)
var res1 = new JKL.Resizable( BODY_EREA );
コンストラクタです。本文エリアのidを指定します。
id 文字列でなく、本文エリアのエレメント自体でも指定できます。
res1.resizeTo( WIDTH, HEIGHT );
横×縦のサイズをピクセル単位で指定します。
予めスタイルシート等でサイズを指定してある場合は、
resizeTo() メソッドを使用する必要はありません。
横・縦の片方のみ指定したい場合は、他方は null としてください。
res1.resizeBy( WIDTH, HEIGHT );
横×縦のサイズをピクセル単位で指定します。(現在のサイズからの相対値)
res1.setEast( EAST_AREA );
右端の枠エリアのidを指定します。
id 文字列でなく、枠エリアのエレメント自体でも指定できます。
res1.setSouth( SOUTH_AREA );
下端の枠エリアのidを指定します。
id 文字列でなく、枠エリアのエレメント自体でも指定できます。
res1.setSouthEast( SOUTHEAST_AREA );
右下隅の枠エリアのidを指定します。
id 文字列でなく、枠エリアのエレメント自体でも指定できます。
トラックバックURL:http://www.kawa.net/service/tb/ajaxtb.cgi/works/js/jkl/resizable.html
Kawa.netxp © Copyright 2002-2005 Yusuke Kawasaki