web页面如何实现拖拽功能? 页面中有两个空间,一个list一个table,想实现的功能是这样的:选中list中的某一项,拖拽到table中,则在table中自动增加一行,显示的是刚才拖动到list项的值,并且table的其它列是允许输入内容的(或者不用table改用其它的控件也可以),请问这样的功能如何实现?谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 还以为webpart呢,lz说的实现起来好像很复杂 javascript怎么实现,对javascript不熟悉 用js 是可以 不怎么好写 up http://topic.csdn.net/t/20050909/15/4259973.htmlhttp://blog.csdn.net/tycsl/archive/2007/11/16/1889251.aspx参考上面的吧,需要改动,原理一样。 用ajax框架很容易解决,例如extjs, jquery等 DIV+CSS好像就可以在网上看过别人的代码,自己没有写过,感觉比较复杂…… 用jquery,去网上找有现成的.csdn上就有人做过. <!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><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>简易拖放效果</title></head><body><script>var isIE = (document.all) ? true : false;var $ = function (id) { return "string" == typeof id ? document.getElementById(id) : id;};var Class = { create: function() { return function() { this.initialize.apply(this, arguments); } }}var Extend = function(destination, source) { for (var property in source) { destination[property] = source[property]; }}var Bind = function(object, fun) { return function() { return fun.apply(object, arguments); }}var BindAsEventListener = function(object, fun) { return function(event) { return fun.call(object, (event || window.event)); }}function addEventHandler(oTarget, sEventType, fnHandler) { if (oTarget.addEventListener) { oTarget.addEventListener(sEventType, fnHandler, false); } else if (oTarget.attachEvent) { oTarget.attachEvent("on" + sEventType, fnHandler); } else { oTarget["on" + sEventType] = fnHandler; }};function removeEventHandler(oTarget, sEventType, fnHandler) { if (oTarget.removeEventListener) { oTarget.removeEventListener(sEventType, fnHandler, false); } else if (oTarget.detachEvent) { oTarget.detachEvent("on" + sEventType, fnHandler); } else { oTarget["on" + sEventType] = null; }};//拖放程序var SimpleDrag = Class.create();SimpleDrag.prototype = { //拖放对象,触发对象 initialize: function(drag) { this.Drag = $(drag); this._x = this._y = 0; this._fM = BindAsEventListener(this, this.Move); this._fS = Bind(this, this.Stop); this.Drag.style.position = "absolute"; addEventHandler(this.Drag, "mousedown", BindAsEventListener(this, this.Start)); }, //准备拖动 Start: function(oEvent) { this._x = oEvent.clientX - this.Drag.offsetLeft; this._y = oEvent.clientY - this.Drag.offsetTop; addEventHandler(document, "mousemove", this._fM); addEventHandler(document, "mouseup", this._fS); }, //拖动 Move: function(oEvent) { this.Drag.style.left = oEvent.clientX - this._x + "px"; this.Drag.style.top = oEvent.clientY - this._y + "px"; }, //停止拖动 Stop: function() { removeEventHandler(document, "mousemove", this._fM); removeEventHandler(document, "mouseup", this._fS); }};</script><div id="idDrag" style="border:5px solid #0000FF; background:#C4E3FD; width:50px; height:50px;"></div><script>new SimpleDrag("idDrag");</script></body></html> 看asp.net ajax toolkit,里面有这样的控件,拿过来用即可。http://www.asp.net/ajax/ajaxcontroltoolkit/samples/ http://download.csdn.net/source/874984这是个实例 你去看看 www.quanjing.com里面的高级搜索就是楼主说的效果,,很强大,, 其实实现这种效果有好多种,就看你个人爱好了!1.webpart容易实现,这个是微软自带的2,可以用现成的ajax框架,如jquery,(个人推荐用这个) JQ可以。protype也可以。好多可以实现拖拽的 给我拖拽的假象 就可以实际上你可以取得你选中的行 在mouseup 的时候填到table 中 做这样的功能,为什么不用FLASH呢? 请大家帮帮忙了?????急!!! DropDownList 问题 请问下在ASP.NET的网站和网站应用程序有什么区别呢? 如何使用Request得到LISTBOX里面的值 关于ORACLE9i连接问题 前台页面中选择出新闻的信息应该怎么做?? 怎么控制DATAGRID页码显示10页 请问哪位高手,在sharepoint里如何和数据库连接。 关于子窗口对父窗口的控制问题!!急。。在线等待! 谁有DataGrid能正序和倒序排列的列子,最好有▲或▼的图案的那种 js问题 有谁做过这种复杂的报表,用 vs 2005 自带的reportviewer 控件
http://blog.csdn.net/tycsl/archive/2007/11/16/1889251.aspx
参考上面的吧,需要改动,原理一样。
在网上看过别人的代码,自己没有写过,感觉比较复杂……
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>简易拖放效果</title>
</head><body>
<script>var isIE = (document.all) ? true : false;var $ = function (id) {
return "string" == typeof id ? document.getElementById(id) : id;
};var Class = {
create: function() {
return function() { this.initialize.apply(this, arguments); }
}
}var Extend = function(destination, source) {
for (var property in source) {
destination[property] = source[property];
}
}var Bind = function(object, fun) {
return function() {
return fun.apply(object, arguments);
}
}var BindAsEventListener = function(object, fun) {
return function(event) {
return fun.call(object, (event || window.event));
}
}function addEventHandler(oTarget, sEventType, fnHandler) {
if (oTarget.addEventListener) {
oTarget.addEventListener(sEventType, fnHandler, false);
} else if (oTarget.attachEvent) {
oTarget.attachEvent("on" + sEventType, fnHandler);
} else {
oTarget["on" + sEventType] = fnHandler;
}
};function removeEventHandler(oTarget, sEventType, fnHandler) {
if (oTarget.removeEventListener) {
oTarget.removeEventListener(sEventType, fnHandler, false);
} else if (oTarget.detachEvent) {
oTarget.detachEvent("on" + sEventType, fnHandler);
} else {
oTarget["on" + sEventType] = null;
}
};//拖放程序
var SimpleDrag = Class.create();
SimpleDrag.prototype = {
//拖放对象,触发对象
initialize: function(drag) {
this.Drag = $(drag);
this._x = this._y = 0;
this._fM = BindAsEventListener(this, this.Move);
this._fS = Bind(this, this.Stop);
this.Drag.style.position = "absolute";
addEventHandler(this.Drag, "mousedown", BindAsEventListener(this, this.Start));
},
//准备拖动
Start: function(oEvent) {
this._x = oEvent.clientX - this.Drag.offsetLeft;
this._y = oEvent.clientY - this.Drag.offsetTop;
addEventHandler(document, "mousemove", this._fM);
addEventHandler(document, "mouseup", this._fS);
},
//拖动
Move: function(oEvent) {
this.Drag.style.left = oEvent.clientX - this._x + "px";
this.Drag.style.top = oEvent.clientY - this._y + "px";
},
//停止拖动
Stop: function() {
removeEventHandler(document, "mousemove", this._fM);
removeEventHandler(document, "mouseup", this._fS);
}
};</script><div id="idDrag" style="border:5px solid #0000FF; background:#C4E3FD; width:50px; height:50px;"></div><script>
new SimpleDrag("idDrag");
</script></body>
</html>
http://www.asp.net/ajax/ajaxcontroltoolkit/samples/
这是个实例 你去看看
1.webpart容易实现,这个是微软自带的
2,可以用现成的ajax框架,如jquery,(个人推荐用这个)
实际上你可以取得你选中的行 在mouseup 的时候填到table 中