CSS Transform Scale を使用した jQuery のドラッグ/サイズ変更
この質問は、CSS 変換を持つ div 内の子要素に jQuery のドラッグ可能およびサイズ変更可能なプラグインを適用する問題を中心にしています。 (マトリックス) がそれに適用されます。この問題は、子要素がドラッグまたはサイズ変更されるときに発生します。これは、jQuery によって行われた調整が、適用されたスケールに対応する係数だけマウスの位置と同期していないためです。
解決策
後いくつかの実験を行った結果、ユーザーは jQuery のドラッグ可能でサイズ変更可能なプラグインにパッチを適用するという解決策を見つけました。パッチ適用されたコードの概要は次のとおりです。
- Monkey Patching MouseStart(): このパッチは、要素の変換スケール。
- getViewOffset(): この関数は、適用された変換の下で要素のオフセットを正しく計算するのに役立ちます。
jQuery のドラッグ/サイズ変更Patch
次のコードは、jQuery UI のドラッグ可能なプラグインの MouseStart() 関数とgeneratePosition() 関数の変更を示しています。
function monkeyPatch_mouseStart() { // Monkey patch mouseStart function $.ui.draggable.prototype._mouseStart = function(event) { // Calculate adjusted offset this.offset = this.positionAbs = getViewOffset(this.element[0]); } } function generatePosition(event) { // Calculate adjusted position this.top = ( pageY // Absolute mouse position - this.offset.click.top // Click offset - this.offset.relative.top // Element's initial position + ($.browser.safari && $.browser.version <h3 id="jQuery-の代替">jQuery の代替</h3><p>ドラッグ アンド サイズ変更機能を処理するための jQuery の代替手段として、考慮すべきオプションがいくつかあります:</p>
- バニラ JavaScript: ネイティブ JavaScript イベントを使用してドラッグ アンド ドロップ機能を実装できます。
- React.js: React は、これらのインタラクションを管理するための useDrag や useResize などのフックのセットを提供します。
- Vue.js: Vuex はドラッグをサポートしますuseDrag() フックを介した -and-drop インタラクション。
さらなる改善
ユーザーは、jQuery プラグイン内のコールバック ハンドラーを含むソリューションも提供します。この方法では、プラグイン コードにパッチを適用する必要がなく、スケール係数を利用して、ドラッグとサイズ変更の操作中に幅、高さ、位置を調整します。
// Resizable callback handler $(this).resizable({ ... resize: function(event, ui) { // Adjust width and height relative to scale ui.size.width = ui.originalSize.width + (ui.size.width - ui.originalSize.width) / zoomScale; ui.size.height = ui.originalSize.height + (ui.size.height - ui.originalSize.height) / zoomScale; } }); // Draggable callback handler $(this).draggable({ ... drag: function(event, ui) { // Adjust position relative to scale ui.position.left = ui.originalPosition.left + (ui.position.left - ui.originalPosition.left) / zoomScale; ui.position.top = ui.originalPosition.top + (ui.position.top - ui.originalPosition.top) / zoomScale; } });
この代替方法は、ドラッグとサイズ変更のイベントを管理するための便利なソリューションです。 jQuery プラグイン自体を変更せずに、変換スケールが適用された要素内で。
以上がjQuery のドラッグ/サイズ変更を CSS Transform Scale で機能させるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この投稿では、Blackle Moriは、CohostのHTMLサポートの限界を押し広げようとしている間に見つかったハックのいくつかを示します。あえてこれらを使用してください、あなたもCSS犯罪者とラベル付けされないようにしてください。

CSSを備えたカスタムカーソルは素晴らしいですが、JavaScriptを使用して次のレベルに物事を引き出すことができます。 JavaScriptを使用して、カーソル状態間で移行し、カーソル内に動的テキストを配置し、複雑なアニメーションを適用し、フィルターを適用できます。

2025年には、互いに互いに跳ね返る要素を伴うインタラクティブなCSSアニメーションは、CSSにPongを実装する必要はありませんが、CSSの柔軟性とパワーの増加はLee&#039;の疑いを補強します。

CSSバックドロップフィルタープロパティを使用してユーザーインターフェイスをスタイルするためのヒントとコツ。バックドロップフィルターを複数の要素間でレイヤー化する方法を学び、それらを他のCSSグラフィカル効果と統合して、精巧なデザインを作成します。

まあ、SVG&#039;の組み込みのアニメーション機能は、計画どおりに非推奨されることはありませんでした。確かに、CSSとJavaScriptは負荷を運ぶことができる以上のものですが、以前のようにSmilが水中で死んでいないことを知っておくのは良いことです

イェーイ、テキストワラップのジャンプを見てみましょう:サファリテクノロジーのプレビューにかなり着陸してください!しかし、それがChromiumブラウザーでの仕組みとは異なることに注意してください。

このCSS-Tricksアップデートは、アルマナック、最近のポッドキャスト出演、新しいCSSカウンターガイド、および貴重なコンテンツを提供するいくつかの新しい著者の追加の大幅な進歩を強調しています。

ほとんどの場合、人々はTailwind&#039;の@Apply機能を紹介します。このように展示されたとき、@Applyはまったく有望な音をしません。だからobvio


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

メモ帳++7.3.1
使いやすく無料のコードエディター

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ホットトピック









