ちなみにちょっと中を覗いてみると、JQueryのマウスイベントを利用して、常に座標を更新し続けるアニメーション的動作な感じでしょうか。そのうち時間を取ってソースを追いかけてみたいと思います。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8" />
<title>JQuery UI</title>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/themes/smoothness/jquery-ui.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></script>
<style>
#box{
width: 150px;
height: 150px;
background-color: rgba(164,218,243,1);
font-size: 16px;
border: solid 2px;
}
.handle{
height: 50%;
background-color: rgba(201,246,74,1);
}
</style>
</head>
<body>
<div id="box">
<div class="handle">Draggable</div>
<div>Undraggable</div>
</div>
<script>
$(function () {
$('#box').draggable({
opacity: 0.5,
handle: '.handle'
//cancel: '.cancel'
});
});
</script>
</body>
</html>
上のソースを貼り付けると、次のような、ドラッグ可能な四角形を表示できます。
Draggable
Undraggable
HTML内で作成したboxに、JQuery UIでDraggableをつけているだけです。簡単ですね! 色々な引数がありますが、そこは本家サイトを参照します。
JQuery UIのリファレンス
ここで使っているのは、handleというオプションです。この値が指定されている箇所のみがドラッグ可能になります。反対はcancelですね。 opacityで、ドラッグしている間だけ色が薄くなる効果をつけています。
色々なことが出来そうですね!
0 件のコメント:
コメントを投稿