日期:2014-05-16  浏览次数:20335 次

新人求教,一个简单的javascript程序
javascript刚刚起步,很多问题都不懂,下面的这段代码谁能解释一下,最好是每行都解释一下,越详细越好

JScript code

<script>
window.onload=window.onscroll=function()
{
var oLeft = document.getElementById("left");
var oRight = document.getElementById("right");
var scrollY=document.documentElement.scrollTop||document.body.scrollTop;
var clientH = document.documentElement.clientHeight;
var oCloseX =document.getElementById("x")
var oCloseY =document.getElementById("y")
oLeft.style.top=(clientH-oLeft.offsetHeight)/2+scrollY+"px";
oRight.style.top=(clientH-oRight.offsetHeight)/2+scrollY+"px";
oCloseX.onclick=function()
{
this.parentNode.parentNode.removeChild(this.parentNode);
}
oCloseY.onclick=function()
{
this.parentNode.parentNode.removeChild(this.parentNode);
}
}
</script>



------解决方案--------------------
JScript code

//获取ID为left的元素
var oLeft = document.getElementById("left");
//获取ID为right的元素
var oRight = document.getElementById("right");
//这个好像是获取滚动的时候,被卷起来的高度,。
var scrollY=document.documentElement.scrollTop||document.body.scrollTop;
//获取可见区域高度
var clientH = document.documentElement.clientHeight;
//获取ID为x的元素
var oCloseX =document.getElementById("x")
//获取ID为y的元素
var oCloseY =document.getElementById("y")
//设置oLeft对象距离上面的像素
oLeft.style.top=(clientH-oLeft.offsetHeight)/2+scrollY+"px";
//设置oRight对象距离上面的像素
oRight.style.top=(clientH-oRight.offsetHeight)/2+scrollY+"px";
//为oCloseX对象添加一个click事件
oCloseX.onclick=function()
{
//当点击的时候,移除当前元素的父元素
this.parentNode.parentNode.removeChild(this.parentNode);
}
//为oCloseY对象添加一个click事件
oCloseY.onclick=function()
{
//当点击的时候,移除当前元素的父元素
this.parentNode.parentNode.removeChild(this.parentNode);
}

------解决方案--------------------
根据楼上细化一下:

//获取ID为left的元素
var oLeft = document.getElementById("left");
//获取ID为right的元素
var oRight = document.getElementById("right");
//得到当前垂直滚动条的滑块位置var scrollY=document.documentElement.scrollTop||document.body.scrollTop;
//获取可见区域高度
var clientH = document.documentElement.clientHeight;
//获取ID为x的元素
var oCloseX =document.getElementById("x")
//获取ID为y的元素
var oCloseY =document.getElementById("y")
//设置oLeft对象垂直居中oLeft.style.top=(clientH-oLeft.offsetHeight)/2+scrollY+"px";
//设置oRight对象垂直居中oRight.style.top=(clientH-oRight.offsetHeight)/2+scrollY+"px";
//为oCloseX对象添加一个click事件
oCloseX.onclick=function()
{
//当点击的时候,移除当前元素的父元素
this.parentNode.parentNode.removeChild(this.parentNode);
}
//为oCloseY对象添加一个click事件
oCloseY.onclick=function()
{
//当点击的时候,移除当前元素的父元素
this.parentNode.parentNode.removeChild(this.parentNode);
}