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

ASP.NET
asp.net css注释的影响
ASP.NET与数据库相关技巧
关于HtmlForm控件
三色交替的下拉列表框
精通ASP.NET中弹出窗口技术
ASP.NET Forums与现有系统整合方案示例
ASP.NET操作IIS中的虚拟目录
DataGrid与SQL Server 2000数据绑定
如何让Web应用程序在Client端实现导出报表功能
如何保证web app中的Send Email线程稳定性
关于用ASP.Net识别远程主机服务器种类
ASP.NET中上传下载文件
提高ASP.NET性能的方法
asp.net StreamReader 创建文件
asp.net如何生成图片验证码(简单)
一个.net 压缩位图至JPEG的代码
简单的SQL Server数据库数据读取与数据操作
获取网站的RSS聚合到自己的网页
.Net程序中整站通用的防SQL注入函数
asp.net生成缩略图及给原始图加水印的函数

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 155 ::
收藏到网摘: 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 这个思路,问题很简单就解决了。