DIR : /home/kozerus/public_html/ko_center/dragdrop1.htm
/home/kozerus/public_html/ko_center
<head>
<script type="text/javascript" src="js/jquery1.4.2.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.2.custom.min.js"></script>
<!-- We'll be writing our jQuery in dragdrop.js -->
<script type="text/javascript" src="js/dragdrop.js"></script>
</head>
body {
font: bold 12px arial;
}
span {
float: left;
margin-top: 17px;
text-align: center;
width: 100%;
}
#trash, #items, .item {
height: 50px;
width: 50px;
}
#trash {
color: #354e62;
}
#items {
margin-top: 10px;
width: 100%;
}
.item {
background: #cdcdcd;
color: #3b3b3b;
float: left;
margin-right: 10px;
}
.over {
background-color: #cedae3;
}
.out {
background-color: #a6bcce;
$(function() {
$(".item").draggable({
revert: true
});
$("#trash").droppable({
tolerance: 'touch',
over: function() {
$(this).removeClass('out').addClass('over');
},
out: function() {
$(this).removeClass('over').addClass('out');
},
drop: function() {
var answer = confirm('Permantly delete this item?');
$(this).removeClass('over').addClass('out');
}
});
});
<div id="trash" class="out">
<span>Trash</span>
</div>
<div id="items">
<div class="item"><span>Item 1</span></div>
<div class="item"><span>Item 2</span></div>
<div class="item"><span>Item 3</span></div>
// jQuery UI Droppable
$(".basket").droppable({
// The class that will be appended to the to-be-dropped-element (basket)
activeClass:"active",
// The class that will be appended once we are hovering the to-be-dropped-element (basket)
hoverClass:"hover",
// The acceptance of the item once it touches the to-be-dropped-element basket
// For different values http://api.jqueryui.com/droppable/#option-tolerance
tolerance:"touch",
drop:function (event, ui) {
var basket = $(this),
move = ui.draggable,
itemId = basket.find("ul li[data-id='" + move.attr("data-id") + "']");
// To increase the value by +1 if the same item is already in the basket
if (itemId.html() != null) {
itemId.find("input").val(parseInt(itemId.find("input").val()) + 1);
}
else {
// Add the dragged item to the basket
addBasket(basket, move);
// Updating the quantity by +1" rather than adding it to the basket
move.find("input").val(parseInt(move.find("input").val()) + 1);
}
}
});
function addBasket(basket, move) {
basket.find("ul").append('<li data-id="' + move.attr("data-id") + '">'
+ '<span class="name">' + move.find("h3").html() + '</span>'
+ '<input class="count" value="1" type="text">'
+ '<button class="delete">?</button>');
}
$(".basket ul li button.delete").live("click", function () {
$(this).closest("li").remove();
});
<section id="product">
<ul class="clear">
<li data-id="1">
<a href="#">
<img src="http://lorempixel.com/150/100/technics/1/" alt="">
<h3>Product name</h3>
<p>Product detail</p>
</a>
</li>
<li data-id="2">...</li>
<li data-id="3">...</li>
</ul>
</section>
<aside id="sidebar">
<div class="basket">
<div class="basket_list">
<div class="head">
<span class="name">Product name</span>
<span class="count">Quantity</span>
</div>
<ul>
</ul>
</div>
</div>
</aside>
// jQuery UI Draggable
$("#product li").draggable({
// brings the item back to its place when dragging is over
revert:true,
// once the dragging starts, we decrease the opactiy of other items
// Appending a class as we do that with CSS
drag:function () {
$(this).addClass("active");
$(this).closest("#product").addClass("active");
},
// removing the CSS classes once dragging is over.
stop:function () {
$(this).removeClass("active").closest("#product").removeClass("active");
}
});
function addBasket(basket, move) {
basket.find("ul").append('<li data-id="' + move.attr("data-id") + '">'
+ '<span class="name">' + move.find("h3").html() + '</span>'
+ '<input class="count" value="1" type="text">'
+ '<button class="delete">?</button>');
}
$(".basket ul li button.delete").live("click", function () {
$(this).closest("li").remove();
});
//
koh5_pano
Drag mouse to navigate.
Navigation
- Left/Right Mouse drag: Changes camera heading.
- Up/Sown Mouse drag: Changes camera pitch.
- Scroll wheel: Changes camera field of view.
- I-Key: Displays Info panel with canvas size, image size and FPS.
17.Aug.2010, Martin Wengenmayer