jQuery之浮动窗口实现代码(两种方法)


Posted in Javascript onSeptember 08, 2010

第一种方法:
预览:
jQuery之浮动窗口实现代码(两种方法)
Html代码

<html> 
<head> 
<title>浮动窗口</title> 
<link type="text/css" rel="stylesheet" href="css/overflow.css" /> 
<script type="text/javascript" src="js/jquery.js"></script> 
<script type="text/javascript" src="js/overflow.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
var b = $("#b"); 
var overFlow = $("#over"); 
b.click(function(){ 
overFlow.fadeIn(); 
$("#mask").css("background","#111"); 
$("#mask").css("opacity","0.8"); 
}) 
$("#close").click(function(){ 
overFlow.fadeOut(); 
$("#mask").css("background","#fff"); 
$("#mask").css("opacity","1"); 
}); 
drag($("#over"),$("#title")); 
}) ; 
</script> 
</head> 
<body> 
<div id="over"> 
<div id="title"><span id="t">这只是一个演示标题</span><span id="close">[ x ]</span></div> 
<div id="content"> 
When a container object, such as a div, has mouse capture, events originating on objects within that container are fired by the div, unless the bContainerCapture parameter of the setCapture method is set to false. Passing the value false causes the container to no longer capture all document events. Instead, objects within that container still fire events, and those events also bubble as expected.<br/> 
---This is edited by Alp. 
</div> 
</div> 
<div id="mask"> <a id="b" href="#">click</a></div> 
</body> 
</html>

Js代码
function drag(overFlow,title){ 
title.onmousedown = function(evt){ 
var doc = document; 
var evt = evt || window.event; 
var x = evt.offsetX?evt.offsetX:evt.layerX; 
var y = evt.offsetY?evt.offsetY:evt.layerY; 
if(overFlow.setCapture){ 
overFlow.setCapture(); 
}else if(window.captureEvents){ 
window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP); 
} 
doc.onmousemove = function(evt){ 
evt = evt || window.event; 
var xPosition = evt.pageX || evt.clientX; 
var yPosition = evt.pageY || evt.clientY; 
var newX = xPosition - x; 
var newY = yPosition - y; 
overFlow.style.left = newX; 
overFlow.style.top = newY; 
}; 
doc.onmouseup = function(){ 
if(overFlow.releaseCapture){ 
overFlow.releaseCapture(); 
}else if(window.captureEvents){ 
window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP); 
} 
doc.onmousemove=null; 
doc.onmouseup=null; 
}; 
}; 
}

css代码
#over{ 
position: absolute; 
left: 300px; 
top: 200px; 
border: 1px solid black; 
display: none; 
background: #cccccc; 
cursor: default; 
width: 300px; 
z-index: 10; 
opacity: 1; 
} 
#title{ 
border: 1px solid #1840C4; 
background: #95B4DC; 
padding: 2px; 
font-size:12px; 
cursor: default; 
} 
#close{ 
cursor: pointer; 
margin-right: 1px; 
overflow: hidden; 
} 
#content{ 
border: 1px solid #C2D560; 
background: #EFF4D7; 
} 
#t{ 
margin-right:145px; 
} 
#mask{ 
z-index: 1; 
background: #fff; 
width: 1024px; 
height: 800px; 
} 
#b{ 
position: absolute; 
left: 200px; 
top: 100px; 
} 
body{ 
padding: 0px; 
margin: 0px; 
} 
#over{ 
background: transparent; 
}

第二种方法:
消息框遮罩层:<iframe id="show_upload_iframe" frameborder=0 scrolling="no" style="display:none; position:absolute;"></iframe><div id="show_upload">nothing...</div>'

页面加载loading中:<div id="body_loading" onClick="loaded();"><img src="__PUBLIC__/images/body_load.gif"></div>

关闭浮动窗口:<a href="javascript:hideupload()">关闭窗口建议用小图片</a>

打开浮动窗口:<a href="javascript:showupload('admin.php')">打开浮动</a>

// 消息框loading 
function loading(){ 
var o = $('#body_loading'); 
o.css("left",(($(document).width())/2-(parseInt(o.width())/2))+"px"); 
o.css("top",(($(document).height()+$(document).scrollTop())/2-(parseInt(o.height())/2))+"px"); 
o.fadeIn("fast"); 
} 
// 消息框消失 
function loaded(){ 
var o = $('#body_loading'); 
o.fadeOut("fast"); 
} 
// 隐藏浮动窗口 
function hideupload(){ 
$('#show_upload').hide(); 
$('#show_upload_iframe').hide(); 
} 
// 弹出浮动窗口 
function showupload(ajaxurl){ 
loading(); 
var o=$('#show_upload'); 
var f=$('#show_upload_iframe'); 
var top = 200; 
$.ajax({ 
url: ajaxurl, 
//cache: false, 
success: function(res){ 
loaded(); 
o.html(res); 
o.css("left",(($(document).width())/2-(parseInt(o.width())/2))+"px"); 
if($(document).scrollTop()>200){ 
top = ($(document).height()+$(document).scrollTop())/2-(parseInt(o.height())/2); 
} 
o.css("top",top+"px"); 
f.css({'width':o.width(),'height':o.height(),'left':o.css('left'),'top':o.css('top')}); 
f.show(); 
o.show(); 
} 
}); 
}
Javascript 相关文章推荐
javascript之通用简单的table选项卡实现(二)
May 09 Javascript
读jQuery之四(优雅的迭代)
Jun 20 Javascript
基于JQuery实现的Select级联
Jan 27 Javascript
JavaScript中Boolean对象的属性解析
Oct 21 Javascript
内容滑动切换效果jquery.hwSlide.js插件封装
Jul 07 Javascript
浅谈js中对象的使用
Aug 11 Javascript
webpack常用配置项配置文件介绍
Nov 07 Javascript
使用vue的transition完成滑动过渡的示例代码
Jun 25 Javascript
微信小游戏之使用three.js 绘制一个旋转的三角形
Jun 10 Javascript
js计时事件实现圆形时钟
Mar 25 Javascript
JavaScript this使用方法图解
Feb 04 Javascript
uni-app 自定义底部导航栏的实现
Dec 11 Javascript
Jquery ThickBox插件使用心得(不建议使用)
Sep 08 #Javascript
jquery的Tooltip插件 qtip使用详细说明
Sep 08 #Javascript
jquery的Theme和Theme Switcher使用小结
Sep 08 #Javascript
复制小说文本时出现的随机乱码的去除方法
Sep 07 #Javascript
extjs grid设置某列背景颜色和字体颜色的实现方法
Sep 06 #Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
Sep 06 #Javascript
Document对象内容集合(比较全)
Sep 06 #Javascript
You might like
PHP脚本的10个技巧(3)
2006/10/09 PHP
php学习笔记 面向对象的构造与析构方法
2011/06/13 PHP
PHP文章按日期(月日)SQL归档语句
2012/11/29 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
2015/09/30 PHP
php实现文件与16进制相互转换的方法示例
2017/02/16 PHP
ExtJS4 组件化编程,动态加载,面向对象,Direct
2011/05/12 Javascript
一个简单的弹性返回顶部JS代码实现介绍
2013/06/09 Javascript
JavaScript中检测变量是否存在遇到的一些问题
2013/11/11 Javascript
JS获取客户端IP地址、MAC和主机名的7个方法汇总
2014/07/21 Javascript
一个JavaScript处理textarea中的字符成每一行实例
2014/09/22 Javascript
javascript操作数组详解
2014/12/17 Javascript
js实现三张图(文)片一起切换的banner焦点图
2015/08/25 Javascript
jQuery 获取select选中值及清除选中状态
2016/12/13 Javascript
JavaScript中document.referrer的用法详解
2017/07/04 Javascript
20170918 前端开发周报之JS前端开发必看
2017/09/18 Javascript
js实现单张图片平移切换效果
2017/10/11 Javascript
基于JavaScript实现单例模式
2019/10/30 Javascript
Vue自定义多选组件使用详解
2020/09/08 Javascript
原生js实现自定义滚动条组件
2021/01/20 Javascript
Python生成随机数的方法
2014/01/14 Python
python中通过预先编译正则表达式提高效率
2017/09/25 Python
python2.7使用plotly绘制本地散点图和折线图
2019/04/02 Python
flask 框架操作MySQL数据库简单示例
2020/02/02 Python
Django使用rest_framework写出API
2020/05/21 Python
Django --Xadmin 判断登录者身份实例
2020/07/03 Python
伦敦高级内衣品牌:Agent Provocateur(大内密探)
2016/08/23 全球购物
美国最大的网上冲印店:Shutterfly
2017/01/01 全球购物
可口可乐唇膏:Lip Smackers
2019/08/27 全球购物
Conforama西班牙:您的家具、装饰和电器商店
2020/02/21 全球购物
请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值
2014/09/15 面试题
致全体运动员广播稿
2014/02/01 职场文书
安全生产承诺书范文
2014/05/22 职场文书
结对共建协议书
2014/08/20 职场文书
个人剖析材料范文
2014/09/30 职场文书
2014年行风建设工作总结
2014/12/01 职场文书
python数字图像处理数据类型及颜色空间转换
2022/06/28 Python