手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >jquery实现商品拖动选择效果代码(自写)
jquery实现商品拖动选择效果代码(自写)
摘要:效果图如下:主页面index.html:复制代码代码如下:Draganddrop我是第一台打印机我是第二台打印机我是第三台打印机我是第四台打...

效果图如下:

1

2

主页面index.html:

复制代码 代码如下:

<!doctype html>

<html lang="en">

<head>

<meta charset="utf-8"/>

<title>Drag and drop</title>

<link rel="stylesheet" href="main.css">

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>

<script src="jquery-ui-1.9.0.custom.min.js"></script>

</head>

<body>

<div>

<section id="product">

<ul>

<li data-id="1">

<a href="#">

<img src="img/T14CBxXaVzXXbGir7U_013755.jpg_160x160.jpg" >

<h3><font color="#8A2BE2">我是第一台打印机</font></h3>

</a>

</li>

<li data-id="2">

<a href="#">

<img src="img/T2i06FXa4aXXXXXXXX_!!1128692172.jpg_b.jpg" >

<h3><font color="#A52A2A">我是第二台打印机</font></h3>

</a>

</li>

<li data-id="3">

<a href="#">

<img src="img/T2odyUXf8bXXXXXXXX_!!629457645.jpg_b.jpg" >

<h3><font color="#DEB887">我是第三台打印机</font></h3>

</a>

</li>

<li data-id="4">

<a href="#">

<img src="img/T2OgebXd8cXXXXXXXX_!!441091394.jpg_b.jpg" >

<h3><font color="#5F9EA0">我是第四台打印机</font></h3>

</a>

</li>

<li data-id="5">

<a href="#">

<img src="img/T2TIYaXc4aXXXXXXXX_!!684563508.png_b.jpg" >

<h3><font color="#7FFF00">我是第五台打印机</font></h3>

</a>

</li>

<li data-id="6">

<a href="#">

<img src="img/T2uOlZXoRcXXXXXXXX_!!645750852.jpg_b.jpg" >

<h3><font color="#D2691E">我是第六台打印机</font></h3>

</a>

</li>

<li data-id="7">

<a href="#">

<img src="img/T2WDSCXalcXXXXXXXX_!!409679289.jpg_b.jpg" >

<h3><font color="#6495ED">我是第七台打印机</font></h3>

</a>

</li>

<li data-id="8">

<a href="#">

<img src="img/T2YOORXeXXXXXXXXXX_!!731577459.jpg_b.jpg" >

<h3><font color="#00008B">我是第八台打印机</font></h3>

</a>

</li>

</ul>

</section>

<aside id="sidebar">

<div>

<div>

<div>

<span>名称</span>

<span>数量</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>' + move.find("h3").html() + '</span>'

+ '<input value="1" type="text">'

+ '<button>✕</button>');

}

// The function that is triggered once delete button is pressed

$(".basket ul li button.delete").live("click", function () {

$(this).closest("li").remove();

});

});

</script>

</body>

</html>

jquery-ui-1.9.0.custom.min.js

main.css:

复制代码 代码如下:

/* reset & .clear

----------------------------*/

* {

margin: 0;

padding: 0;

}

.clear:before,

.clear:after {

content: " ";

display: table;

}

.clear:after { clear: both }

.clear { *zoom: 1 }

/* MAIN

----------------------------*/

body {

font: normal 12px/1.3 arial, sans-serif;

background-color: #eee;

}

li { list-style: none }

a { text-decoration: none }

.container {

position: relative;

width: 920px;

margin: 30px auto;

}

.container #product {

position: relative;

z-index: 2;

float: left;

width: 670px;

}

.container #sidebar {

position: relative;

z-index: 1;

float: right;

width: 224px;

}

/* PRODUCTS

----------------------------*/

#product ul {

width: 680px;

margin-left: -10px; }

#product ul li {

position: relative;

float: left;

width: 150px;

margin: 0 0 10px 10px;

padding: 5px;

background-color: #fff;

border-radius: 4px;

-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .2);

box-shadow: 0 1px 2px rgba(0, 0, 0, .2);

-webkit-transition: -webkit-transform .1s ease;

-moz-transition: -webkit-transform .1s ease;

-o-transition: -webkit-transform .1s ease;

-ms-transition: -webkit-transform .1s ease;

transition: transform .1s ease;

}

#product ul li:hover {

background-color: #fff8c1;

}

#product.active ul li {

-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";

filter: alpha(opacity = 40);

opacity: .4;

}

#product.active ul li.active {

z-index: 2;

-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";

filter: alpha(opacity = 100);

opacity: 1;

-webkit-transform-origin: 50% 50%;

-moz-transform-origin: 50% 50%;

-o-transform-origin: 50% 50%;

-ms-transform-origin: 50% 50%;

transform-origin: 50% 50%;

-webkit-transform: scale(.6);

-moz-transform: scale(.6);

-o-transform: scale(.6);

-ms-transform: scale(.6);

transform: scale(.6);

}

#product ul li a {

display: block;

color: #000

}

#product ul li a h3 {

margin-top: 5px;

}

#product ul li a h3,

#product ul li a p {

white-space: nowrap;

overflow: hidden;

-o-text-overflow: ellipsis;

-ms-text-overflow: ellipsis;

text-overflow: ellipsis;

}

#product ul li a img { width:150px;height:150px;display: block }

/* BASKET

----------------------------*/

.basket {

position: relative;

}

.basket .basket_list {

width: 220px;

background-color: #fff;

border: 2px dashed transparent;

border-radius: 4px;

-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .2);

box-shadow: 0 1px 2px rgba(0, 0, 0, .2);

}

.basket.active .basket_list,

.basket.hover .basket_list { border-color: #ffa0a3 }

.basket.active .basket_list { background-color: #fff8c1 }

.basket.hover .basket_list { background-color: #ffa0a3 }

/* .head */

.basket .head {

overflow: hidden;

margin: 0 10px;

height: 26px;

line-height: 26px;

color: #666;

border-bottom: 1px solid #ddd;

}

.basket .head .name { float: left }

.basket .head .count { float: right }

/* .head */

.basket ul { padding-bottom: 10px }

.basket ul li {

position: relative;

clear: both;

overflow: hidden;

margin: 0 10px;

height: 26px;

line-height: 32px;

border-bottom: 1px dashed #eee;

}

.basket ul li:hover { border-bottom-color: #ccc }

.basket ul li span.name {

display: block;

float: left;

width: 165px;

font-weight: bold;

white-space: nowrap;

overflow: hidden;

-o-text-overflow: ellipsis;

-ms-text-overflow: ellipsis;

text-overflow: ellipsis;

-webkit-transition: width .2s ease;

-moz-transition: width .2s ease;

-o-transition: width .2s ease;

-ms-transition: width .2s ease;

transition: width .2s ease;

}

.basket ul li:hover span.name { width: 146px }

.basket ul li input.count {

float: right;

margin: 3px 2px 0 0;

width: 25px;

line-height: 20px;

text-align: center;

border: 0;

border-radius: 3px;

background-color: #ddd;

}

.basket ul li button.delete {

position: absolute;

right: 30px;

top: 3px;

-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";

filter: alpha(opacity = 0);

opacity: 0;

width: 20px;

line-height: 20px;

height: 20px;

text-align: center;

font-size: 11px;

border: 0;

color: #EE5757;

background-color: #eee;

border-radius: 3px;

cursor: pointer;

-webkit-transition: opacity .2s ease;

-moz-transition: opacity .2s ease;

-o-transition: opacity .2s ease;

-ms-transition: opacity .2s ease;

transition: opacity .2s ease;

}

.basket ul li:hover button.delete {

-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";

filter: alpha(opacity = 100);

opacity: 1;

}

.basket ul li button.delete:hover {

color: #fff;

background-color: #ffa0a3;

}

.basket ul li button.delete:active {

color: #fff;

background-color: #EE5757;

}

【jquery实现商品拖动选择效果代码(自写)】相关文章:

基于jquery实现下拉框美化特效

jQuery实现div随意拖动的实例代码(通用代码)

JavaScript实现鼠标拖动效果的方法

js实现异步循环实现代码

JQuery实现动态添加删除评论的方法

jQuery结合ajax实现动态加载文本内容

jQuery实现鼠标经过图片变亮其他变暗效果

javascript实现淡蓝色的鼠标拖动选择框实例

jQuery插件pagewalkthrough实现引导页效果

jquery实现的判断倒计时是否结束代码

精品推荐
分类导航