当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > .Net里漂浮窗口拖动的实现方法

ASP.NET
Internet Explorer 编程简述(二)在IE中编辑OLE嵌入文档
移动窗体
.NET 2.0获取数据库连接统计数据
VB.NET 拖动无边框的窗体
利用WH_CBT Hook将非模态对话框显示为模态对话框
Aspect#应用 - 权限验证
VB 从零开始编外挂(一)
【错误解决】Unable to find script library 'WebUIValidation.js'
VB 从零开始编外挂(四)
DTD指南(3)-DTD-Elements(元素)
知识库文章MDL9745154-File:Microsoft Visual Basic 运行时库
.net手机软件开发(六)OBEX应用:文件传输部分
在winform中使用WebBrowser控件时怎样去除IE的滚动条
WINZIP及WINRAR命令!!!!!
智能客户端相关Application Block结构功能分析(二)
如何在VB中操作EXCEL(一段代码,两个可以使用的过程)
在C#中用最简洁有效的代码执行存储过程并返回数据
.Net的Collection类的一些使用说明
ASP.NET实现数据图表c
用asp.net画饼图

ASP.NET 中的 .Net里漂浮窗口拖动的实现方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 246 ::
收藏到网摘: n/a

  .Net里漂浮窗口拖动的实现方法。另外还提到一个 jquery 的插件 easydrag,这个插件处理拖放还算好用,但自从我上次修改后,现在又发现了它的另一个 bug. 在应用了 easydrag 的页面中,某种情况下会在页面加载时出现“找不到对象”的脚本错误。经过仔细检查,发现问题在于 easydrag 中过早的绑定了 document 的 mousemove 和 mouseup 事件,而有时候脚本加载的时候 document 还没有 ready, 自然就会“找不到对象”了。

  解决问题的办法很简单,我们推迟这两个事件的绑定即可:

以下为引用的内容:
  function mousemove_handler(e){
  //
  }
  function mouseup_handler(e){
  //
  // 解除鼠标移动和弹起事件的处理函数绑定
  $(document).unbind("mousemove", mousemove_handler).unbind("mouseup", mouseup_handler);
  }
  $("#拖动目标").mousedown(function(){
  //
  // 添加鼠标移动和弹起事件的处理函数绑定
  $(document).mousemove(mousemove_handler).mouseup(mouseup_handler);
  })

  注意上面代码中 unbind 事件也是很必要的。

  另外推荐一个很好的 jquery 插件 —— background iframe.

  以前我们写网页中的日历控件之类的,为了遮住 <select> 的效果。

  调用方式也非常简单:

以下为引用的内容:
<div> 
  <iframe></iframe> 
</div>

  来加载弹出的内容。但是这样有个问题,就是加载的文档和当前文档不是一个页面,那么在 asp.net 等后台代码里,就不是很方便做数据绑定,因为多了一个页面,就需要多出很多不必要的变量传递工作。 

  而 background iframe 的原理是,你可以在当前页面的 <div></div> 里直接写弹出内容,它负责动态的在这个 div 中插入一个透明的 iframe 作为背景的遮罩,这样也一样能达到遮挡 <select> 的效果。 
调用方式也非常简单: 

以下为引用的内容:
$("#some_layer").bgiframe(); 

  这样就可以了。 

  这里联想到,编程真的是思路最重要。记得以前看 meizz 的日历控件代码,通过 iframe 的方式写入,实现很复杂,现在如果换了 background iframe 这个思路,问题很简单就解决了。