私はあなたのための例を書く時間がかかりました。それはここにある:
http://blixt.org/js/resize.html
(注:私はそれがクロスブラウザの互換性だったことを確認するには時間がかかりませんでしたので、これはおそらく、すべてのブラウザでは動作しません)
基本的には、mousemove
イベントを使用してカーソルが要素の端からどのくらい離れているかを確認し、端に十分に近い場合にそのエッジのカーソルを表示することです。ここにJavaScriptがあります:
(注:実際のプロジェクトでは、ブラウザ間の互換性、メンテナンス性、およびライブラリ間のやり取りの改善のためにこれを非常に異なった方法でコーディングします。jQueryなどのフレームワークを使用する必要があります。これらすべてのことについて既に考えていました)。
var r = document.getElementById('resizable');
r.onmousemove = function (e) {
if (!e) e = window.event;
var
// Get the distances to all the edges.
// e.clientX is the X coordinate on the client area (window) of the mouse.
// r.offsetLeft is the horizontal offset from the page left.
// r.offsetWidth is the total width of the element.
left = e.clientX - r.offsetLeft, top = e.clientY - r.offsetTop,
bottom = r.offsetHeight - top, right = r.offsetWidth - left,
// Get the shortest distance to any of the edges.
min = Math.min(Math.min(Math.min(top, left), bottom), right);
// If the pointer is further than 5 pixels from an edge, do not display
// any resize cursor.
if (min > 5) {
r.style.cursor = 'default';
return;
}
// Determine which cursor to display.
switch (min) {
case top:
r.style.cursor = 'n-resize';
break;
case left:
r.style.cursor = 'w-resize';
break;
case bottom:
r.style.cursor = 's-resize';
break;
case right:
r.style.cursor = 'e-resize';
break;
}
}
OPに画像はありません。また、javascriptを使用してクライアント側の画像のサイズを変更することもできます。ディスプレイのサイズを変更するだけですあなたが数学のビットを使用するだけで余分な要素を作成せずにサイズ変更領域を作成する方法があります。 – Breton
2番目の部分では、要素の端だけにカーソルを置くことはできません。 – rahul
カーソルが要素全体に適用されます。ですから、エッジ上にカーソルを置いたときにカーソルをリサイズする必要がある場合は、そのために別の要素を作成する必要があります。 – rahul