我在页面中使用UpdatePanel以实现局部刷新,但是不能实现div层移动了!在没有使用UpdatePanel时,可以实现层移动的,请问如何解决?谢谢。
以下是大致代码:
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
......
......
</ContentTemplate> </asp:UpdatePanel> <!--End 无刷新 --> 实现层移动js代码: <script type="text/javascript">
// <![CDATA[
var $j = function (id) { return document.getElementById(id); };
var getMouseP = function (e) {
//获取鼠标坐标 请传递evnet参数
e = e || window.event;
var m = (e.pageX || e.pageY) ? { x: e.pageX, y: e.pageY} : { x: e.clientX + document.body.scrollLeft - document.body.clientLeft, y: e.clientY + document.body.scrollTop - document.body.clientTop };
return m;
}; move = function (o, t) {
o = $j(o);
t = $j(t);
o.onmousedown = function (ev) {
var mxy = getMouseP(ev); //获取当前鼠标坐标
var by = { x: mxy.x - (t.offsetLeft), y: mxy.y - (t.offsetTop) };
o.style.cursor = "move";
document.onmousemove = function (ev) {
var mxy = getMouseP(ev);
t.style.left = mxy.x - by.x + "px";
t.style.top = mxy.y - by.y + "px";
};
document.onmouseup = function () {
window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();
this.onmousemove = null;
}
}
}
move("<%= movespan.ClientID%>", "<%= movediv.ClientID%>");// ]]>
</script>
以下是大致代码:
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
......
......
</ContentTemplate> </asp:UpdatePanel> <!--End 无刷新 --> 实现层移动js代码: <script type="text/javascript">
// <![CDATA[
var $j = function (id) { return document.getElementById(id); };
var getMouseP = function (e) {
//获取鼠标坐标 请传递evnet参数
e = e || window.event;
var m = (e.pageX || e.pageY) ? { x: e.pageX, y: e.pageY} : { x: e.clientX + document.body.scrollLeft - document.body.clientLeft, y: e.clientY + document.body.scrollTop - document.body.clientTop };
return m;
}; move = function (o, t) {
o = $j(o);
t = $j(t);
o.onmousedown = function (ev) {
var mxy = getMouseP(ev); //获取当前鼠标坐标
var by = { x: mxy.x - (t.offsetLeft), y: mxy.y - (t.offsetTop) };
o.style.cursor = "move";
document.onmousemove = function (ev) {
var mxy = getMouseP(ev);
t.style.left = mxy.x - by.x + "px";
t.style.top = mxy.y - by.y + "px";
};
document.onmouseup = function () {
window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();
this.onmousemove = null;
}
}
}
move("<%= movespan.ClientID%>", "<%= movediv.ClientID%>");// ]]>
</script>
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function () {
就行了。呵呵,同样的朋友也可作为参考。