HiddenSelect(x_top, y_top, width, height)
传入当前层的右上角坐标和层的宽和高,即可以解决此问题。
以下是客户端的JavaScript代码:
function ShowWinLayer(width, height, layer){
/* show window page */
/* width: DIV显示的宽 */
/* height: DIV显示的高 */
/* layer: 在层上显示的内容 */
var div = document.getElementById('divWinLayer');
var clientWidth = document.body.clientWidth;
var clientHeight = document.body.clientHeight;
var scrollTop = document.body.scrollTop;
var left = (clientWidth - width)/2;
var top = (clientHeight - height)/2 * 0.8 + scrollTop;
div.style.width = width;
div.style.height = height;
div.style.left = left;
div.style.top = top;
div.style.visibility = 'visible';
//hidden select elements
HiddenSelect(left, top, width, height);
//bind innerHTML
div.innerHTML = layer;
}
//hidden select elements function
function HiddenSelect(x_top, y_top, width, height){
var x_bt = x_top + width;
var y_bt = y_top + height;
var sl_pos,sl_x_top, sl_y_top, sl_x_bt, sl_y_bt, dsrcid;
var sls = document.getElementsByTagName('SELECT');
for(i=0; i<sls.length; i++){
sl_pos = AbsPos(sls[i]);
sl_x_top = sl_pos.x;
sl_y_top = sl_pos.y;
sl_x_bt = sl_x_top + sls[i].clientWidth;
sl_y_bt = sl_y_top + sls[i].clientHeight;
if(((sl_x_bt > x_top) && (sl_x_top < x_bt)) && ((sl_y_bt > y_top) && (sl_y_top < y_bt))){
dsrcid = sls[i].parentNode;
if(dsrcid){
if(dsrcid.id.indexOf('nohidden') == -1){
sls[i].style.visibility = 'hidden';
}
}else{
sls[i].style.visibility = 'hidden';
}
}else{
sls[i].style.visibility = 'visible';
}
}
}
传入当前层的右上角坐标和层的宽和高,即可以解决此问题。
以下是客户端的JavaScript代码:
function ShowWinLayer(width, height, layer){
/* show window page */
/* width: DIV显示的宽 */
/* height: DIV显示的高 */
/* layer: 在层上显示的内容 */
var div = document.getElementById('divWinLayer');
var clientWidth = document.body.clientWidth;
var clientHeight = document.body.clientHeight;
var scrollTop = document.body.scrollTop;
var left = (clientWidth - width)/2;
var top = (clientHeight - height)/2 * 0.8 + scrollTop;
div.style.width = width;
div.style.height = height;
div.style.left = left;
div.style.top = top;
div.style.visibility = 'visible';
//hidden select elements
HiddenSelect(left, top, width, height);
//bind innerHTML
div.innerHTML = layer;
}
//hidden select elements function
function HiddenSelect(x_top, y_top, width, height){
var x_bt = x_top + width;
var y_bt = y_top + height;
var sl_pos,sl_x_top, sl_y_top, sl_x_bt, sl_y_bt, dsrcid;
var sls = document.getElementsByTagName('SELECT');
for(i=0; i<sls.length; i++){
sl_pos = AbsPos(sls[i]);
sl_x_top = sl_pos.x;
sl_y_top = sl_pos.y;
sl_x_bt = sl_x_top + sls[i].clientWidth;
sl_y_bt = sl_y_top + sls[i].clientHeight;
if(((sl_x_bt > x_top) && (sl_x_top < x_bt)) && ((sl_y_bt > y_top) && (sl_y_top < y_bt))){
dsrcid = sls[i].parentNode;
if(dsrcid){
if(dsrcid.id.indexOf('nohidden') == -1){
sls[i].style.visibility = 'hidden';
}
}else{
sls[i].style.visibility = 'hidden';
}
}else{
sls[i].style.visibility = 'visible';
}
}
}