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

实现遮罩功能,为何在chrome和firefox下不正常
1、在chrome下是没有随滚动而滚动;
2、在firefox下位置不正确;
3、现在滚动时抖动太大,能否缓冲?
JScript code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title></title>
<script type="text/javascript">
/******************************
*功能:提供js遮罩功能
*开发:walkingp
*主页:http://www.51obj.cn/
*E-mail:walkingp@126.com
*******************************/
(function(){
    var id='lightBox';
    var $=function(id){return document.getElementById(id);};
    var addEvent=function(obj,type,fn){
        if(obj.attachEvent){
            obj.attachEvent('on' + type,fn);
        }else if(obj.addEventListener){
            obj.addEventListener(type,fn,false);
        }
    }
    var cuteDialog={
        /*遮罩样式*/
        shadowCssText:'filter:alpha(opacity=80);opacity:0.8;background:#000;width:100%;position:absolute;left:0;top:0;z-index:99998;',
        /*对话框样式*/
        dialogCssText:'position:absolute;height:50;margin-left:-300px;left:50%;font-size:12px;padding:10px;width:600px;z-index:99999;background:#fff;border:solid 10px #666;',
        /*p层新式*/
        pCssText:'text-align:right;',
        showDialog:function(){
            /*遮罩层*/
            var id=arguments[0];
            var oDiv=$(id);
            if(!$('shadow'))
            {
                var shadow=document.createElement('div');
                shadow.setAttribute('id','shadow');
                shadow.setAttribute('style',this.shadowCssText);
                
                /*对话框*/
                var dialog=document.createElement('div');
                dialog.setAttribute('id','dialog');
                dialog.setAttribute('style',this.dialogCssText);
                dialog.appendChild(oDiv);
                
                /*p层:存放操作按钮*/
                var p=document.createElement('p');
                p.setAttribute('style',this.li>
       


------解决方案--------------------
IE、Opera 认为 scrollHeight 是网页内容实际高度,可以小于 clientHeight。
NS、 FF 认为 offsetHeight 和 scrollHeight 都是网页内容高度,只不过当网页内容高度小于等于 clientHeight 时,scrollHeight 的值是 clientHeight,而 offsetHeight 可以小于 clientHeight。