HTMLの任意のElementをDrag & DropできるようにするためのJavaScriptライブラリです。Drag & Drop以外の機能はありませんが、その分ロジックが簡潔なので、様々な用途にソースコードを改良しやすいと思います。 また、インスタンスを生成するだけでDrag & Dropできるようになるので、お手軽です。
以下のリンクからダウンロードしてください。
Draggable.jsをロードします。
<script type="text/javascript" src="./Draggable.js"></script>
動かしたいElementのスタイルをposition:absoluteに設定します。
<div id="tutorial" style="position:absolute;">Tutorial</div>
引数にElementのIDを渡してDraggableオブジェクトをnewします。
<script type="text/javascript">
new Draggable("tutorial");
</script>
これでDrag & Dropができるようになります。ElementにIDは必須ではありませんので、直接Elementを渡すこともできます。
<img src="./" width="100" height="100" style="position:absolute">
<img src="./" width="100" height="100" style="position:absolute">
<img src="./" width="100" height="100" style="position:absolute">
<script type="text/javascript">
var img = document.getElementsByTagName("img");
for (var i = 0; i < img.length; i++) {
new Draggable(img[i]);
}
</script>
登録されたイベントリスナーを削除したい場合はインスタンスのdestoryメソッドを呼び出します。
var tutorial = new Draggable("tutorial");
tutorial.destroy();
サンプルコードです。サンプルコードをブラウザで閲覧すると、下のような移動できるElementが表示されます。試しに、Sampleを動かしてみてください。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script type="text/javascript" src="./Draggable.js"></script>
<style type="text/css">
.sample {
position: absolute;
width: 150px;
height: 100px;
cursor: move;
}
#sample1 {
top: 0px;
left: 500px;
background-color: #AEEE8E;
}
#sample2 {
top: 40px;
left: 540px;
background-color: #8ECAEE;
}
#sample3 {
top: 80px;
left: 580px;
background-color: #EE8E97;
}
</style>
</head>
<body>
<div id="sample1" class="sample">Sample 1</div>
<div id="sample2" class="sample">Sample 2</div>
<div id="sample3" class="sample">Sample 3</div>
<script type="text/javascript">
var sample1 = new Draggable("sample1");
var sample2 = new Draggable("sample2");
var sample3 = new Draggable("sample3");
</script>
</body>
</html>
IE6SP2、IE7、Firefox2.0, 3.0, 3.5, 3.6、Opera9.23, 9.50(Win)、Safari2, 3, 4で動作確認をしています。
BSDライセンスとします。ソフトウェアの使用(実行)は制限なく自由ですが、再配布の際には、ソースコードであれバイナリであれ、 「著作権表示」「条件のリスト」「免責事項」を含める必要があります。