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和HTML5利用canvas构建猜牌游戏实现算法
Jul 17 Javascript
javascript学习笔记(一)基础知识
Sep 30 Javascript
Javascript 拖拽雏形(逐行分析代码,让你轻松了拖拽的原理)
Jan 23 Javascript
JQuery入门基础小实例(1)
Sep 17 Javascript
Node.js文件操作方法汇总
Mar 22 Javascript
JavaScript中绑定事件的三种方式及去除绑定
Nov 05 Javascript
javascript 实现动态侧边栏实例详解
Nov 11 Javascript
JS实现给json数组动态赋值的方法示例
Mar 19 Javascript
如何把vuejs打包出来的文件整合到springboot里
Jul 26 Javascript
VUE引入第三方js包及调用方法讲解
Mar 01 Javascript
mpvue实现左侧导航与右侧内容的联动
Oct 21 Javascript
JS实现电商商品展示放大镜特效
Jan 07 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 中 config.m4 的探索
2020/08/26 PHP
用jquery写的一个万年历(自写)
2014/01/20 Javascript
nodejs 实现模拟form表单上传文件
2014/07/14 NodeJs
jQuery中关于ScrollableGridPlugin.js(固定表头)插件的使用逐步解析
2014/07/17 Javascript
JS组件系列之使用HTML标签的data属性初始化JS组件
2016/09/14 Javascript
基于js的变量提升和函数提升(详解)
2017/09/17 Javascript
vue组件生命周期详解
2017/11/07 Javascript
iview table render集成switch开关的实例
2018/03/14 Javascript
Angular 容器部署的方法
2018/04/17 Javascript
详解js的视频和音频采集
2018/08/09 Javascript
vue微信分享到朋友圈 vue微信发送给好友
2018/11/28 Javascript
详解如何快速配置webpack多入口脚手架
2018/12/28 Javascript
使用nvm和nrm优化node.js工作流的方法
2019/01/17 Javascript
原来JS还可以这样拆箱转换详解
2019/02/01 Javascript
解决微信小程序中转换时间格式IOS不兼容的问题
2019/02/15 Javascript
Nodejs让异步变成同步的方法
2019/03/02 NodeJs
优雅的将ElementUI表格变身成树形表格的方法步骤
2019/04/11 Javascript
小程序分页实践之编写可复用分页组件
2019/07/18 Javascript
Python爬虫获取整个站点中的所有外部链接代码示例
2017/12/26 Python
Django教程笔记之中间件middleware详解
2018/08/01 Python
对python 合并 累加两个dict的实例详解
2019/01/21 Python
python2和python3应该学哪个(python3.6与python3.7的选择)
2019/10/01 Python
HTML5的表单(绝对特别强大的功能)使用示例
2013/06/20 HTML / CSS
科颜氏加拿大官方网站: Kiehl’s加拿大
2016/08/16 全球购物
美国室内和室外装饰花盆购物网站:ePlanters
2019/03/22 全球购物
Holland & Barrett爱尔兰:英国领先的健康零售商
2019/03/31 全球购物
材料员岗位职责
2014/03/13 职场文书
优秀少先队大队辅导员事迹材料
2014/05/04 职场文书
网络优化专员求职信
2014/05/04 职场文书
计算机毕业大学生求职信
2014/06/26 职场文书
市级绿色学校申报材料
2014/08/25 职场文书
党员学习群众路线心得体会
2014/11/04 职场文书
党员倡议书
2015/01/19 职场文书
教师节祝酒词
2015/08/11 职场文书
安全生产标语口号
2015/12/26 职场文书
Python使用psutil库对系统数据进行采集监控的方法
2021/08/23 Python