<script type="text/javascript">
window.onload = function(){
//showCenter("test");
var my = new My();
my.showCenter("test");
document.getElementById("top").onclick = function(){
//回到顶部
window.scrollTo(0,0);
}
my.floatBottom("float","left","50px",50,100);
}
//我的空间集
function My(){
var Control = new Object();
Control = {
/**
* 方法:showCenter 将对象居中显示,并根据窗口大小动态改变显示位置
* @param {[String]} nodeId [将要进行居中显示的对象的id]
* @return {[Object]} [返回实例]
*/
showCenter:function(nodeId){
//初始化绘制div居中
draw(nodeId);
//窗口大小改变后重新绘制
window.onresize = function(){
draw(nodeId);
};
//绘制对象居中方法
function draw(nodeId){
var obj = document.getElementById(nodeId);
var objWidth = obj.offsetWidth; //包括边框的宽
var objHeight = obj.offsetHeight;
var docWidth = document.body.clientWidth; //不包括滚动条
var docHeight = document.body.clientHeight;
var top = (docHeight - objHeight)/3 + "px";
var left = (docWidth - objWidth)/2 + "px";
obj.style.position = "absolute";
obj.style.position = "absolute";
obj.style.top = top;
obj.style.left = left;
obj.style.zIndex = 1000;
}
},
/**
* 方法:floatBottom。 该方法用于将div元素置于页面的左|右下方,并根据滚动条滚动更新位置。
* @param String nodeId [需要悬浮的元素的id]
* @param String:left|right side [设定元素漂浮在左边还是右边]
* @param String: 12px distance [设置元素的左|右边距]
* @param int: opacityTo [设置悬浮元素常态下是否渐隐,数值为渐隐值,此参数可有可无]
* @param int: marginBottom: 底距
*/
floatBottom:function(nodeId,side,distance,opacityTo,marginBottom){
var obj = document.getElementById(nodeId);
//是否渐隐的标记
var opacityFlag = opacityTo ? true:false;
obj.style.position = "absolute";
obj.style.display = "none";
//改变透明度
if(opacityFlag) this.changeOpacity(obj,opacityTo);
if(side == "left"){
obj.style.left = distance;
}else{
obj.style.right = distance;
}
window.onscroll = function(){
obj.style.display = "block";
obj.style.top = document.body.scrollTop + document.body.clientHeight - 100 - marginBottom;
if(document.body.scrollTop == 0){
obj.style.display = "none";
}
};
obj.onmouseover = function(){
obj.style.cursor = "pointer";
if(opacityFlag) new My().changeOpacity(obj,100); //其他浏览器
};
obj.onmouseout = function(){
if(opacityFlag) new My().changeOpacity(obj,opacityTo);
}
},
/**
* 方法:changeOpacity 改变目标元素的透明度
* @param Object: obj 目标node
* @param int: intNum 透明度值
*/
changeOpacity:function(obj,intNum){
var floatNum = parseInt(intNum)/100;
obj.style.filter = 'alpha(opacity='+parseInt(intNum)+')'; //兼容ie
obj.style.opacity=floatNum; //其他浏览器
}
};
return Control;
}
</script>
<style type="text/css">
#test{
width:400px;
height:200px;
border:1px solid black;
background:#888888;
}
#float{
width:200px;
height:100px;
background:#888888;
/*position: absolute;*/
/*bottom:0px;*/
/*right:0px;*/
}
html,* html body{background-image:url(about:blank);background-attachment:fixed}
</style>
<body>
<div id="test">
</div>
<div id="float"></div>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<input type="button" id="top" value="Top" />
</body>
window.onload = function(){
//showCenter("test");
var my = new My();
my.showCenter("test");
document.getElementById("top").onclick = function(){
//回到顶部
window.scrollTo(0,0);
}
my.floatBottom("float","left","50px",50,100);
}
//我的空间集
function My(){
var Control = new Object();
Control = {
/**
* 方法:showCenter 将对象居中显示,并根据窗口大小动态改变显示位置
* @param {[String]} nodeId [将要进行居中显示的对象的id]
* @return {[Object]} [返回实例]
*/
showCenter:function(nodeId){
//初始化绘制div居中
draw(nodeId);
//窗口大小改变后重新绘制
window.onresize = function(){
draw(nodeId);
};
//绘制对象居中方法
function draw(nodeId){
var obj = document.getElementById(nodeId);
var objWidth = obj.offsetWidth; //包括边框的宽
var objHeight = obj.offsetHeight;
var docWidth = document.body.clientWidth; //不包括滚动条
var docHeight = document.body.clientHeight;
var top = (docHeight - objHeight)/3 + "px";
var left = (docWidth - objWidth)/2 + "px";
obj.style.position = "absolute";
obj.style.position = "absolute";
obj.style.top = top;
obj.style.left = left;
obj.style.zIndex = 1000;
}
},
/**
* 方法:floatBottom。 该方法用于将div元素置于页面的左|右下方,并根据滚动条滚动更新位置。
* @param String nodeId [需要悬浮的元素的id]
* @param String:left|right side [设定元素漂浮在左边还是右边]
* @param String: 12px distance [设置元素的左|右边距]
* @param int: opacityTo [设置悬浮元素常态下是否渐隐,数值为渐隐值,此参数可有可无]
* @param int: marginBottom: 底距
*/
floatBottom:function(nodeId,side,distance,opacityTo,marginBottom){
var obj = document.getElementById(nodeId);
//是否渐隐的标记
var opacityFlag = opacityTo ? true:false;
obj.style.position = "absolute";
obj.style.display = "none";
//改变透明度
if(opacityFlag) this.changeOpacity(obj,opacityTo);
if(side == "left"){
obj.style.left = distance;
}else{
obj.style.right = distance;
}
window.onscroll = function(){
obj.style.display = "block";
obj.style.top = document.body.scrollTop + document.body.clientHeight - 100 - marginBottom;
if(document.body.scrollTop == 0){
obj.style.display = "none";
}
};
obj.onmouseover = function(){
obj.style.cursor = "pointer";
if(opacityFlag) new My().changeOpacity(obj,100); //其他浏览器
};
obj.onmouseout = function(){
if(opacityFlag) new My().changeOpacity(obj,opacityTo);
}
},
/**
* 方法:changeOpacity 改变目标元素的透明度
* @param Object: obj 目标node
* @param int: intNum 透明度值
*/
changeOpacity:function(obj,intNum){
var floatNum = parseInt(intNum)/100;
obj.style.filter = 'alpha(opacity='+parseInt(intNum)+')'; //兼容ie
obj.style.opacity=floatNum; //其他浏览器
}
};
return Control;
}
</script>
<style type="text/css">
#test{
width:400px;
height:200px;
border:1px solid black;
background:#888888;
}
#float{
width:200px;
height:100px;
background:#888888;
/*position: absolute;*/
/*bottom:0px;*/
/*right:0px;*/
}
html,* html body{background-image:url(about:blank);background-attachment:fixed}
</style>
<body>
<div id="test">
</div>
<div id="float"></div>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<h1>eagavgagv<h1><br>
<input type="button" id="top" value="Top" />
</body>