検索
ホームページウェブフロントエンドCSSチュートリアルCSS Transform Scale を使用して jQuery の正しいドラッグ/サイズ変更動作を実現するにはどうすればよいですか?

How to Achieve Correct jQuery Drag/Resize Behavior with CSS Transform Scale?

CSS 変換スケールによる jQuery のドラッグ/サイズ変更の修正

背景

CSS 変換の適用要素を作成し、その子に対して jQuery のドラッグ可能でサイズ変更可能なプラグインを使用すると、マウス カーソルとドラッグまたはサイズ変更された要素との間にずれが生じる可能性があります。これは、要素に適用されるスケール係数が原因です。

jQuery パッチ ソリューション

以前のソリューションでは、jQuery のドラッグ可能およびサイズ変更可能なプラグインにパッチを適用して、マウス オフセットを調整する必要がありました。スケール係数。この方法では、プラグインのソース コードを変更する必要がありました。

代替ソリューション: コールバック ハンドラー

代替ソリューションは、サイズ変更およびドラッグ可能なプラグインによって提供されるコールバック ハンドラーを使用することです。これにより、jQuery にパッチを適用する必要がなくなります。

サイズ変更可能な修正

<br>$(this).resizable({<pre class="brush:php;toolbar:false">minWidth: -(contentElem.width()) * 10,  
minHeight: -(contentElem.height()) * 10,  
resize: function(event, ui) {

    var changeWidth = ui.size.width - ui.originalSize.width; 
    var newWidth = ui.originalSize.width + changeWidth / zoomScale; 

    var changeHeight = ui.size.height - ui.originalSize.height; 
    var newHeight = ui.originalSize.height + changeHeight / zoomScale; 

    ui.size.width = newWidth;
    ui.size.height = newHeight;

}

});

サイズ変更ハンドラーで、幅と高さの変化を計算し、ズーム スケールの逆数を適用して新しい幅と高さを調整し、

ドラッグ可能な修正

<br>$(this).draggable({<pre class="brush:php;toolbar:false">handle: '.drag-handle',
start: function(event, ui) {
    ui.position.left = 0;
    ui.position.top = 0;
},
drag: function(event, ui) {

    var changeLeft = ui.position.left - ui.originalPosition.left; 
    var newLeft = ui.originalPosition.left + changeLeft / (( zoomScale)); 

    var changeTop = ui.position.top - ui.originalPosition.top; 
    var newTop = ui.originalPosition.top + changeTop / zoomScale; 

    ui.position.left = newLeft;
    ui.position.top = newTop;

}

});

ドラッグ ハンドラーで、左と上の位置の変化を計算し、ズーム スケールの逆数を適用して新しい左と上の位置を調整し、

結論

コールバック ハンドラーを使用したこの代替ソリューションは、CSS がスケールで変換されるときにドラッグ/サイズ変更の動作を修正する非侵襲的な方法を提供します。適用されました。

以上がCSS Transform Scale を使用して jQuery の正しいドラッグ/サイズ変更動作を実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
柔軟なキャプション付きスラント画像柔軟なキャプション付きスラント画像Apr 12, 2025 am 09:31 AM

この傾斜した画像の行を作成するためのエリックマイヤーのチュートリアルの最終結果は、かなり上品です。しかし、それは目的地よりも旅についての方が多いです(そこに

CSSのステップで値を変更しますCSSのステップで値を変更しますApr 12, 2025 am 09:28 AM

実際にはCSSにはステップ()関数がありますが、アニメーションにのみ使用されます。たとえば、あなたは高さで成長することを許可している要素を伝えることができますが、

グリッドの密集したキーワードの自動流出能力グリッドの密集したキーワードの自動流出能力Apr 12, 2025 am 09:23 AM

ニュースWebサイトのホームページに取り組んでいると言わせてください。あなたはおそらくグリッドレイアウトでいくつかのカードベースのコンテンツを見るのに使用されていましたよね?ここに&#039;は古典です

これを使用しますこれを使用しますApr 12, 2025 am 09:22 AM

これを使用している私との少しのインタビュー。あなたは私が誰であるかを知っているので、私はイントロをスキップしますが、私はここで残りを再発行します。

スクロール上のテキストをアニメーション化しますスクロール上のテキストをアニメーション化しますApr 12, 2025 am 09:18 AM

楽しいニューヨークタイムズの記事が出てきたとき、湾曲したテキストをアニメーション化するというアイデアを取り上げました。私がしたのは、彼らがどのようにしたかを覗き込んで抽出することだけでした

雪だるま雪だるまApr 12, 2025 am 09:17 AM

雪だるま。その名前が大好きです。これは、何かに取り組んでいるピカの人々からの新しいものです。ある意味では、バンドラーの代替品です。パッケージ上で実行されます

NetNewswireとFeedbinNetNewswireとFeedbinApr 12, 2025 am 09:15 AM

Netnewswireは、2002年にデビューする古典的なRSSアプリの1つです。5.0が5.0になって、2019年8月にオープンソースを受けたとき、私はかなり興奮しました!あなたはそれを正しく引っ掛けることができます

Proseate DrawingをWebアニメーションに変える方法Proseate DrawingをWebアニメーションに変える方法Apr 12, 2025 am 09:14 AM

私は最近、Apple Pencilを使用したProcreateアプリを使用してiPadに描画を始めました。このように描く柔軟性を楽しんでいます。通常私を妨げるもの

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。