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

ASP.NET
Asp.Net使用POST方法最简单的实现
实现.NET应用程序的自动更新
优秀ASP.NET程序员修炼之路
ASP.NET中实现模板页
在ASP.Net 2.0中实现多语言界面的方法
小议优化ASP.NET应用性能之Cache篇
.net开发投票机的思路
浅析CMS内容管理系统的两种方案
ASP.NET 2.0中动态修改页面标题
“您无权查看该网页”的原因和解决方法
将一个图片按比例缩放显示在一个Frame中
编程使用资源文件实现多语言页面(In Action)
.Net编程的多个小技巧
asp.net2.0学习历程-菜鸟到中级程序员的飞跃
asp.net如何连接sql server2000数据库
FCKeditor 2.6在ASP.NET中的配置方法
使用ASP.NET开发移动通讯的几种方法
ASP.NET 2.0的URL映射的实现方法
如何在Asp.net中使用HtmlArea编辑器
ASP.NET 2.0 中实现跨页提交

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


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