Javascript可拖动的浮动模式窗口

jquery.jWindow.js 0.01


虽然JQuery有很多类似的插件,我也试过好多个,一直都没有找到一个适合自已的,总是感觉使用不能满足我的要求。
Javascript的浮动窗口已经是很老的应用,但网上很少有兼容性很好,使用又方便的功能,有的往往只是支持IE,而且问题多多,不方便应用到具体的项目中。最近我的项目里面又需要用到这个东西,以前自已都是直接写脚本来实现,但这次用到的地方比较多,所以只有写成一个插件的型式以方便多个地方调用。
这个我是在JQuery的框架上面开发的一个插件,已经完成常用的一些功能,后面慢慢加入一些实用的东西。
现在的功能有:居中显示模式窗口弹出效果拖动功能
它主要是实现让一个区域浮动起来,并加入可拖动的功能。
这样的做法好处在于,你可以在哪个区域里面加入任何代码,最好的应用是配合iframe,比如跟我以前做的 AjaxUpload结合,效果很爽(这个我已经在我的项目里面使用)。
多的不说,看看代码和演示。

此插件必须配合 jquery.jsjquery.inteface.js 两个一起才可以使用。



Javascirpt调用方法:
$("#btnExampleAll").click(function(){
    $(
"#panelWindowAll").jWindowOpen({
        modal:
true,
        center:
true,
        drag : 
".title",
        close:
"#panelWindowAll .close",
        closeHoverClass:
"hover",
        transfererFrom:
"#btnExampleAll",
        transfererClass:
"transferer"
    });
});

HTML的窗口例子代码:
<div class="window " id="panelWindowAll">
    
<div class="title">jquery.jWindow Example 2</div>
    
<div class="content">
           这个是浮动窗口的内容,你可以在这里放iframe或其它的HTML标签,使用方便.    
</div>
    
<div class="status"><span class="resize"></span></div>
</div>

具体的效果以及使用方法请看下面的地址
项目下载地址与演示地址:http://www.wathon.com/opensource/js/jwindow/jwindow.html
源代码下载地址:http://www.wathon.com/opensource/js/jwindow/jquery.jWindow.zip

关键词:Javascript模式窗口 Javascript浮动窗口 JS浮动窗口 JS拖动窗口 JQuery窗口插件

posted on 2007-09-03 23:37 李华顺 阅读(5840) 评论(38)  编辑 收藏 所属分类: Javascript & Ajax

  回复  引用    
2007-09-04 01:02 | kisskiki [未注册用户]
如果能做成qqzone或者msnspace能任意拖动到某个区域就好了
  回复  引用  查看    
2007-09-04 06:53 | 菌哥      
good,效果不错!
  回复  引用  查看    
2007-09-04 08:34 | flyingchen      
interface官方demo中就有类似的运用
  回复  引用  查看    
2007-09-04 08:34 | JerryChou      
百度空间的popup.js可以看一下。
  回复  引用  查看    
2007-09-04 08:47 | 李华顺      
@kisskiki
这个界面基本是模仿QQ邮箱里面的哪个,不过实际的不是哪样,主要目的是为了方便自已使用,而不是为了做成像它哪样
  回复  引用  查看    
2007-09-04 09:09 | 李华顺      
@flyingchen
interface哪个用起来不方便,还有,居中的功能没有,模式窗口的功能没有,所以才做了这个
  回复  引用    
2007-09-04 09:14 | colafish [未注册用户]
IE6下,下拉框没有进行处理,遮盖层不能遮盖
  回复  引用  查看    
2007-09-04 09:29 | 老夫子系      
好东西

  回复  引用  查看    
2007-09-04 09:42 | wingoo      
interface好像还是1.2的版本,与最新的jquery有点不兼容..
  回复  引用  查看    
2007-09-04 09:44 | 高海东      
这个可以支持在弹出页面上操作吗 比如有链接或者保持能功能
  回复  引用  查看    
2007-09-04 09:44 | Spring.Cheung      
不错,不知有返回值吗?或者是关闭时的触发函数
  回复  引用  查看    
2007-09-04 09:48 | 木野狐(Neil Chen)      
ThickBox 也不错
  回复  引用  查看    
2007-09-04 10:05 | Clark Zheng      
@JerryChou
同意
  回复  引用  查看    
2007-09-04 10:05 | 李华顺      
@Spring.Cheung
关闭触发的功能已经想到了,正准备做

@高海东
没明白
  回复  引用  查看    
2007-09-04 10:08 | 李华顺      
@Spring.Cheung
返回值哪个没有必要的,因为这个不是一个提示框功能,而是实现浮动窗口,用来放一些东西,以提高用户体验。
这样的话,值的传递就可以简单地通过JS参数或变量来传递,我这里就没有必要做哪种功能了,意义不大。
  回复  引用  查看    
2007-09-04 10:13 | 李华顺      
@JerryChou
我做这个东西的原因就是因为用哪种方式的不能满足要求。
Baidu的popup.js 是提示窗口 正如 jquery的blockUI插件
而我这个是实现浮动窗口,窗口是需要放很多不同的东西,包括iframe
  回复  引用    
2007-09-04 10:21 | august [未注册用户]
支持原处。
楼主精神可嘉。

顺便问一下,弹出窗口后,使主窗口背景颜色变淡且不可用是用的什么css特性?
  回复  引用  查看    
2007-09-04 12:30 | PerfmLin      
@李华顺
.....怎么我们又做同样的事情了晕,看看我的 呵呵
http://www.aspstat.com/73
  回复  引用  查看    
2007-09-04 13:07 | 李华顺      
@PerfmLin
你哪个我看过,感觉不适合自已,所以就新写一个

  回复  引用  查看    
2007-09-04 16:25 | JerryChou      
@李华顺
百度的popup.js你没细看,也没试用吧!
我觉得是我见过用过的最好最全的弹出“窗口”js类库了。
我原来一直用thickbox的,现在全改成百度的popup.js了。
园子里有篇文章你可以看看:
http://www.cnblogs.com/mn232nm/archive/2007/07/03/722900.html
  回复  引用  查看    
2007-09-04 16:55 | 邓林海      
不错
  回复  引用    
2007-09-04 22:09 | david [未注册用户]
Hi, 有事想联系你,但是你的手机停机了哦。有别的联系方式吗?比如说qq或msn什么的。
  回复  引用  查看    
2007-09-04 23:57 | 李华顺      
@金色海洋(jyk)
呵呵,对群不感兴趣,只来它来挖人才
  回复  引用    
2007-09-05 09:37 | inkink [未注册用户]
凡是做对话框的有一个问题很多人都没有注意到,就是本身页面很短未达到全屏,对话框弹出时背后的Mask层就会给界面带来一些问题。这个问题目前我见过的只有ComponentArt的对话框控件解决了。包括微软主页的那个(下载区选择)对话框都有这个问题。
  回复  引用  查看    
2007-09-05 10:09 | 聂锋      
非常不错,,我自己先用上了,,,
  回复  引用  查看    
2007-09-05 11:42 | 李华顺      
@金色海洋(jyk)
就是招人呀

@inkink
你的名字我好像认识,不过差一个字~~
  回复  引用    
2007-10-09 12:04 | ggg [未注册用户]
如果采用
transfererFrom:

1<input type="radio" id="style_num_1" name="style_num" value="1" checked />

这radio的选中效果会没掉..
  回复  引用    
2007-10-14 14:47 | MY js [未注册用户]
可是内容都被瑞星卡卡等助手拦截掉了,怎么办啊
  回复  引用  查看    
2007-10-15 08:55 | 李华顺      
@MY js
问题它的限制过高了呀!就好像IE你可以把JS支持也关掉,哪就什么都看不到了
  回复  引用    
2007-10-25 12:58 | PS...YL [未注册用户]
请问一下....这个传值的时候相当于在本窗口...值好象过不去..如果在新窗口就可以接收了..怎么解决?
  回复  引用  查看    
2007-11-18 15:01 | 天启      
我也做过类似的。
问题是:jquery很不错,但是我们有时候整个网站中只应用一次,也用Jquery会不会降低效率?
  回复  引用  查看    
2007-11-18 18:08 | 李华顺      
@天启
也就22K多,影响不大
  回复  引用    
2007-11-22 22:21 | 林清教 [未注册用户]
能不能做个通用调用的
<a href="javascript:;" id="btnExampleAll2">1</a>
<a href="javascript:;" id="btnExampleAll2">1</a>
<a href="javascript:;" id="btnExampleAll2">N...</a>
不是得定义好多 script
  回复  引用  查看    
2007-11-23 10:30 | 李华顺      
@林清教
用Class代替ID,如以下代码:
<a href="javascript:;" class="showWindowLink">1</a>
<a href="javascript:;" class="showWindowLink">1</a>
<a href="javascript:;" class="showWindowLink">N...</a>


$(".showWindowLink").click(function(){
$(this).jWindowOpen({
modal:true,
center:true,
drag : ".title",
close:"#panelWindow .close",
closeHoverClass:"hover",
});
});
  回复  引用    
2007-12-13 19:19 | Jay lyon [未注册用户]
GOOGLE到您的大作,收益非浅,在此非常感谢!!!!
  回复  引用    
2007-12-21 18:45 | Jay lyon [未注册用户]
关闭模式窗口时,发现,模式窗口弹出了多少次,close:function(frm)就会调用多少次,可以在:
//关闭
//close(窗口的jquery Dom)
//Results none
//
close:function(frm){
frm.hide();
frm.DraggableDestroy();
this.removeOverlayer();

alert('Close window');
},
这段代码中添加“alert('Close window');”来DEBUG。
解决方法是:在115行中加入:$(defaults.close).unbind();
这样,在重新$(defaults.close).bind("click",function()时,才不会出现多次bind的情况。
请有兴趣的朋友也去调试一下,看看在各自的环境中是否会出现这种情况。

  回复  引用    
2008-06-27 16:55 | dmm [未注册用户]
问一下大师,我要下来怎么单击页面什么也没有呀..请问怎么才能看到效果呀..
  回复  引用    
2008-07-16 16:56 | lqf [未注册用户]
在ie下使用的时候文本框中的内容不能复制,有没有解决办法呢??

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-09-05 15:27 编辑过


相关链接: