height:page.html的高度
width:page.html的宽度
top:page.html距离屏幕顶部的距离
left:page.html距离屏幕左边的距离
top和left就是给page.html设定位置的
window.open() 方法
语法:window.open(pageurl,name,parameters)
window对象的open()方法用于创建一个新的窗口实例,新创建的窗口的外观由参数:parameters指定。新窗口中打开的文档由参数: pageurl指定。系统能够根据参数:name确定的名称访问该窗口。
第一种方法: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:noneposition: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()
}
// d出浮动窗口
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()
}
})
}
真的不行,换句话,没有办法的。<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8">
<title>无标题文档</title>
<script type="text/javascript">
function isMinStatus() {
var isMin = false
if (window.outerWidth != undefined) {
isMin = window.outerWidth <= 160 &&window.outerHeight <= 27
}
else {
isMin = window.screenTop <-30000 &&window.screenLeft <-30000
}
return isMin
alert(111)
}
function notifyTeacher(){
alert('document.body.offsetTop:'+document.body.offsetTop+',document.body.offsetWidth:'+document.body.offsetWidth+',screen.availWidth:'+screen.availWidth+',top.screenTop:'+top.screenTop)
alert('window.screen.width:'+window.screen.width+',window.screen.height:'+window.screen.height+',window.screen.availWidth:'+window.screen.availWidth+',window.screen.availHeight:'+window.screen.availHeight)
alert(top.name)
alert(top.screenTop+'|'+top.screenLeft)
if(isMinStatus()){
window.focus()
}else{
document.focus()
}
}
</script>
</head>
<body onLoad="notifyTeacher()">
</body>
</html>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)