jquery实现商品拖动选择效果代码(自写)

2020-05-23 06:20:32易采站长站整理

</a>
</li>
<li data-id=”8″>
<a href=”#”>
<img src=”img/T2YOORXeXXXXXXXXXX_!!731577459.jpg_b.jpg” alt=””>
<h3><font color=”#00008B”>我是第八台打印机</font></h3>
</a>
</li>
</ul>
</section>
<aside id=”sidebar”>
<div class=”basket”>
<div class=”basket_list”>
<div class=”head”>
<span class=”name”>名称</span>
<span class=”count”>数量</span>
</div>
<ul>
</ul>
</div>
</div>
</aside>
</div>
<script>
$(function () {
// 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”);
}
});
// 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);
}
}
});
// This function runs onc ean item is added to the basket
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”>’