Javascript 拖放;在下落坐标处下落和定位
我需要将产品列表中的项目拖放到一个空白容器中。 当用户完成拖放时,我必须将位置和使用的项目存储到数据库中,以便再次显示此配置 不幸的是,我的问题开始于早期阶段。 我成功地将项目从列表拖放到容器,但不幸的是,它们以表格形式显示,而不是以我指定给它们的坐标显示Javascript 拖放;在下落坐标处下落和定位,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我需要将产品列表中的项目拖放到一个空白容器中。 当用户完成拖放时,我必须将位置和使用的项目存储到数据库中,以便再次显示此配置 不幸的是,我的问题开始于早期阶段。 我成功地将项目从列表拖放到容器,但不幸的是,它们以表格形式显示,而不是以我指定给它们的坐标显示 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ShoppingCart.aspx.cs" Inherits="_Default" %> <!DOCTYP
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ShoppingCart.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link href="StyleSheet.css" rel="stylesheet" type="text/css" />
<script src="scripts/jquery-1.4.4.min.js" type="text/javascript"></script>
<script type="text/javascript">
var srcElement;
$(document).ready(function () {
$("div .product").each(function () {
this.addEventListener('dragstart', OnDragStart, false);
});
$("div .bag").each(function () {
this.addEventListener('dragenter', OnDragEnter, false);
this.addEventListener('dragleave', OnDragLeave, false);
this.addEventListener('dragover', OnDragOver, false);
this.addEventListener('drop', OnDrop, false);
this.addEventListener('dragend', OnDragEnd, false);
});
})
function OnDragStart(event) {
srcElement = this;
}
function OnDragOver(e) {
e.preventDefault();
return false;
}
function OnDragEnter(e) {
e.preventDefault();
}
function OnDragLeave(e) {
e.preventDefault();
}
function OnDrop(e) {
e.preventDefault();
var dm = srcElement.cloneNode(true);
dm.style.Left = e.offsetX;
dm.style.Top = e.offsetY;
dm.style.position = "absolute";
//$(this).append(srcElement);
e.target.appendChild(dm);
e.stopPropagation();
return false;
}
function OnDragEnd(e) {
e.preventDefault();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<table >
<tr>
<td>
<div draggable="true" id="div1" class="product">
<header>Rieker Trekkingsandalen braun</header>
<img src="images/monitor.jpg" style="height: 150px; width: 150px;" />
</div>
</td>
<td>
<div id="div2" class="product" draggable="true">
<header>Rieker Trekkingsandalen braun</header>
<img src="images/Cart.jpg" style="height: 150px; width: 150px;" />
</div>
</td>
<td>
<div id="div3" class="product" draggable="true">
<header>Rieker Trekkingsandalen braun</header>
<img src="images/mouse.jpg" style="height: 150px; width: 150px;" />
</div>
</td>
<td>
<div id="div4" class="product" draggable="true">
<header>Rieker Trekkingsandalen braun</header>
<img src="images/speaker.jpg" style="height: 150px; width: 150px;" />
</div>
</td>
</tr>
</table>
<div class="bag">
</div>
</div>
</form>
</body>
</html>
.product {
height: 300px;
width: 150px;
border: 2px solid #666666;
background-color: white;
text-align: center;
cursor: move;
}
.bag {
background-color: green;
height: 500px;
width: 500px;
position: absolute;
}
var-src元素;
$(文档).ready(函数(){
$(“部门产品”)。每个(功能){
此.addEventListener('dragstart',OnDragStart,false);
});
$(“分区袋”)。每个(功能){
本附录中,添加了列示器('dragenter',OnDragEnter,false);
此.addEventListener('dragleave',ondraglave,false);
本附录为附录列表('dragover',OnDragOver,false);
此.addEventListener('drop',OnDrop,false);
此.addEventListener('dragend',OnDragEnd,false);
});
})
功能启动(事件){
src元素=这个;
}
函数OnDragOver(e){
e、 预防默认值();
返回false;
}
函数输入(e){
e、 预防默认值();
}
功能(e){
e、 预防默认值();
}
函数OnDrop(e){
e、 预防默认值();
var dm=srcmelement.cloneNode(true);
dm.style.Left=e.offsetX;
dm.style.Top=e.offsetY;
dm.style.position=“绝对”;
//$(this).append(src元素);
e、 目标儿童(dm);
e、 停止传播();
返回false;
}
函数OnDragEnd(e){
e、 预防默认值();
}
列克·特雷金桑达伦·布劳恩
列克·特雷金桑达伦·布劳恩
列克·特雷金桑达伦·布劳恩
列克·特雷金桑达伦·布劳恩
.产品{
高度:300px;
宽度:150px;
边框:2个实心#666666;
背景色:白色;
文本对齐:居中;
光标:移动;
}
.包{
背景颜色:绿色;
高度:500px;
宽度:500px;
位置:绝对位置;
}
有人能给我指出这里的问题吗
干杯,
斯特凡
应该是
dm.style.position = "absolute";
dm.style.position=“绝对值”;更改为绝对。Thx,快速响应!!好的,这是显而易见的^^^但是行为在我修复后没有改变,你能谈谈你的代码吗?首先,我需要弄清楚这是什么,因为我的网络技能非常基础:我希望关于你删除的元素可能会有问题,你不是在计算删除元素的偏移量。计算dm偏移量,而不是e。好的,这是显而易见的^^^,但在我修复后,行为不会改变。这个错误发生在我昨天修改这个剪报之后:(
dm.style.position = "absolute";