質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

0回答

747閲覧

jqueryのdraggableでドラッグしたときに重ならないようにしたい

退会済みユーザー

退会済みユーザー

総合スコア0

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2018/08/04 03:29

前提・実現したいこと

jqueryでドラッグを可能にした要素をボタンを使って呼び出します。
そして、決めた範囲内のみを移動可能にしたのですが要素同士が
重なってしまいます。
この時の重なりをなくしたいですが方法がわかりません

該当のソースコード

html

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="utf-8"> 5 <link rel="stylesheet" href="//code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css"> 6 7 <style> 8 #diagramContainer { 9 width:402px; height: 402px; 10 border: 1px solid gray; 11 background-color : white; 12 } 13 /* 生成枠のもろもろ */ 14 .div_blue { 15 position: absolute; 16 height: 50px; width: 50px; 17 /* background-color: #C0C0C0; */ 18 border: 1px solid blue; 19 } 20 .div_green { 21 position: absolute; 22 height: 50px; width: 50px; 23 /* background-color: #C0C0C0; */ 24 border: 1px solid green; 25 } 26 .div_red { 27 position: absolute; 28 height: 50px; width: 50px; 29 /* background-color: #C0C0C0; */ 30 border: 1px solid red; 31 } 32 </style> 33 34 //jqueryの読み込み 35 <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 36 <script src="//cdnjs.cloudflare.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"></script> 37 <script src="//cdnjs.cloudflare.com/ajax/libs/jsPlumb/1.4.1/jquery.jsPlumb-1.4.1-all-min.js"></script> 38 <script> 39 40 41 var count=0; 42 function mksqu(obj){ 43 var name = obj.getAttribute("Id"); 44 //作る<div>の中身 45 var are = "<div id=\"div_"+ name + "_" + count + "\" class=\"div_"+ name + "\" style=\"left:9px; top:35px;\"></div>"; 46 47 //areにdraggableとresizeableの付け足す 48 are = are +"<script> $(function() { $(\"#div_" + name + "_" + count + "\").resizable({ resize : function(event, ui) {jsPlumb.repaint(ui.helper);},handles: \"all\"}); jsPlumb.ready(function() { jsPlumb.draggable(\"div_" + name + "_" + count + "\", {containment:\"parent\", grid: [ 50, 50]}); }); } );</script>"; 49 are = are + "<script>jQuery( function() { jQuery( \"#div_" + name + "_" + count + "\" ) . resizable( { grid: [ 20, 20 ], } ); } );</script>"; 50 51 //diagramContainerタグの中にareを入れ込む 52 $("#diagramContainer").append(are); 53 count = count + 1; 54 55 } 56 </script> 57</head> 58<body> 59 60 <input type="button" value="Aを追加" id="blue" onClick="mksqu(this)" /> 61 <input type="button" value="Bを追加" id="green" onClick="mksqu(this)" /> 62 <input type="button" value="Cを追加" id="red" onClick="mksqu(this)" /> 63 64 <div id="diagramContainer" > 65 </div> 66 67</body> 68</html> 69 70<!-- 71 72 73--> 74

試したこと

調べてみたところ8年ぐらい前の古いバージョンの似たようなものがありましたが、jquery-ui-1.9.xなどの新しいバージョンで動かしたいです。

補足情報(FW/ツールのバージョンなど)

jquery1.9.1
jquery-ui1.9.2
jsPlumb1.4.1

ソースコード見にくくてすみません

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

x_x

2018/08/08 00:27

重なった場合はどうしたいのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問