メニュー3つとも個々にドロップして移動したいのですが、どのように
すれば良いのでしょうか。
お願いします。
<html>
<head>
<title>ドラッグして画像を移動する</title>
<script type="text/javascript"><!--
//2つ適応
window.onload=function(){
flag = false;
offx = 80;
offy = 100;
document.getElementById("menu1").onmousedown=
function dragOn(){ flag = true;}
window.document.onmousemove = dragImg;
window.document.onmouseup = dragOff;
function dragOff(){ flag = false; }
function dragImg(){
if (!flag) return;
document.getElementById("menu1").style.top = event.y-offx;
document.getElementById("menu1").style.left = event.x-offy;
return false;}
}
// --></script>
</head>
<body>
<div id="menu1" style="background-color:red; position:absolute; width:120px;height:150px;">メニュー1</div>
<div id="menu2" style="background-color:green; position:absolute;top:200px;width:120px;height:150px;">メニュー2</div>
<div id="menu3" style="background-color:blue; position:absolute;top:400px;width:120px;height:150px;">メニュー3</div>
</body>
</html>
No.2ベストアンサー
- 回答日時:
こんにちは
event.x,event.yではFirefoxで動かなかったのでちょっと変えましたm(--)m
<script type="text/javascript"><!--
window.onload=function(){
flag = false;
Menu = new Array("menu1","menu2","menu3");
for(i=0;i<Menu.length;i++) {
document.getElementById(Menu[i]).onmousedown=
function dragOn(){ flag = true; target=this.id;}
}
window.document.onmousemove = dragImg;
window.document.onmouseup = dragOff;
function dragOff(){ flag = false; }
function dragImg(evt){
if (!flag) return;
if (window.createPopup){
x = event.x + document.body.scrollLeft;
y = event.y + document.body.scrollTop;
}else{
x = evt.pageX;
y = evt.pageY;
}
offx = 60;
offy = 75;
document.getElementById(target).style.top = y-offx +"px";
document.getElementById(target).style.left = x-offy +"px";
return false;}
}
// --></script>
No.1
- 回答日時:
提示したソースをできるだけ流用する形で作ってみました。
<html>
<head>
<title>ドラッグして画像を移動する</title>
<script type="text/javascript"><!--
// ドラッグで動かす対象
var g_target;
window.onload=function(){
flag = false;
offx = 80;
offy = 100;
// 別途呼び出せるように,別の場所で定義
//document.getElementById("menu1").onmousedown=
//function dragOn(){ flag = true; }
window.document.onmousemove = dragImg;
window.document.onmouseup = dragOff;
function dragOff(){ flag = false; }
function dragImg(){
if (!flag) return;
// 動かす対象を移動させるように変更
g_target.style.top = event.y-offx;
g_target.style.left = event.x-offy;
return false;
}
}
// ドラッグ開始
function dragOn(target){
// ドラッグで動かす対象を設定
g_target = target;
flag = true;
}
// --></script>
</head>
<body>
<!-- 各メニューで自分自身をドラッグ開始するように,関数を呼ぶ -->
<div id="menu1" style="background-color:red; position:absolute; width:120px;height:150px;" onMouseDown="dragOn(this);">メニュー1</div>
<div id="menu2" style="background-color:green; position:absolute;top:200px;width:120px;height:150px;" onMouseDown="dragOn(this);">メニュー2</div>
<div id="menu3" style="background-color:blue; position:absolute;top:400px;width:120px;height:150px;" onMouseDown="dragOn(this);">メニュー3</div>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ActiveXobjectが作成できない
-
【Tabキー】特定の範囲内だけで...
-
<a>タグのテキストを取得
-
Click回数を数え、規定された回...
-
RadioButtonListの表示制御
-
画像の一部を表示
-
問題はbind の付いたリスナーを...
-
javascriptであるボタンを押す...
-
idを使わずにonclickで自身の要...
-
二次元配列を使って順位をだす...
-
関数でy=g(x)のgとは何の略です...
-
乗換案内 VBAで操作したい
-
javascriptの基本的なことだと...
-
window.openでタイトル名の指定
-
Boolean型配列中のTrueの有無を...
-
JavaScriptで、現在日時から100...
-
同じIDで定義した要素の配列を...
-
Googleスプレッドシートとスク...
-
DOM要素を削除しても、イベント...
-
Javascriptで定期的にF5を押す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<a>タグのテキストを取得
-
任意の座標をクリックさせるには
-
ActiveXobjectが作成できない
-
innerHTML実行後のイベント
-
Click回数を数え、規定された回...
-
HTML:Tableタグに対し、JavaScr...
-
JavaScriptでオブジェクトを取...
-
onchangeイベントを使ってspan...
-
【Tabキー】特定の範囲内だけで...
-
モーダルダイアログウィンドウ...
-
重複しないくじの作り方がわか...
-
javascript 特定のタグのidの存...
-
配列の大括弧と丸括弧はどう違う?
-
javascriptであるボタンを押す...
-
「nullまたはオブジェクトでは...
-
div要素内の全input要素をdisable
-
onclickを使わずにイベント処理...
-
画像上のクリックした場所が分...
-
RadioButtonListの表示制御
-
javascriptで自動計算フォーム...
おすすめ情報