JQuery Draggable with Gird Lines
by Yusril Maulidan Raji
HTML
<div id="canvas">
<div id="box">
<span class="topline"></span>
<span class="rightline"></span>
<span class="botline"></span>
<span class="leftline"></span>
</div>
</div>
CSS
#canvas {width: 1000px;height: 800px;}
.topline{
position:absolute;
width: 1000%;
border-top:1px red dotted;
display:none;
vertical-align::middle;
margin-top:-7px;
margin-left:-250%;
}
.botline{
position:absolute;
width: 1000%;
bottom:-2px;
border-bottom:1px red dotted;
display:none;
vertical-align::middle;
margin-top:500px;
margin-left:-250%;
}
.leftline{
position:absolute;
height: 1000%;
left:-2px;
border-left:1px red dotted;
display:none;
vertical-align::middle;
margin-top:-250%;
}
.rightline{
position:absolute;
height: 1000%;
right:-2px;
border-right:1px red dotted;
display:none;
vertical-align::middle;
margin-top:-250%;
}
#box {
cursor: move;
border:1px solid black;
width:150px;
height:100px;
min-width:80px;
min-height:80px;
padding:5px;
background-color:#1196c1;
}
JavaScript
$(function() {
$("#box").draggable({
containment: "#canvas",
drag: function() {
$(this).find($('.topline')).css('display', 'block');
$(this).find($('.rightline')).css('display', 'block');
$(this).find($('.botline')).css('display', 'block');
$(this).find($('.leftline')).css('display', 'block');
},
start: function() {
$(this).find($('.topline')).css('display', 'block');
$(this).find($('.rightline')).css('display', 'block');
$(this).find($('.botline')).css('display', 'block');
$(this).find($('.leftline')).css('display', 'block');
},
stop: function() {
$(this).find($('.topline')).css('display', 'none');
$(this).find($('.rightline')).css('display', 'none');
$(this).find($('.botline')).css('display', 'none');
$(this).find($('.leftline')).css('display', 'none');
}
});
});