C# 使用javascript设置div的样式

C# 使用javascript设置div的样式,c#,javascript,jquery,css,C#,Javascript,Jquery,Css,我正在尝试设计一个包含asp.NETGridView的div。 我正在使用javascript代码。 div是asp.net按钮单击事件上的弹出窗口 我的代码如下: function ViewPopup() { document.getElementById('PopupDiv').style.visibility = 'visible'; document.getElementById('PopupDiv').style.display = ''; var scre

我正在尝试设计一个包含asp.NETGridView的div。 我正在使用javascript代码。 div是asp.net按钮单击事件上的弹出窗口

我的代码如下:

function ViewPopup() {

    document.getElementById('PopupDiv').style.visibility = 'visible';
    document.getElementById('PopupDiv').style.display = '';

    var screenHeight = document.documentElement.clientHeight;
    var elementHeight = document.getElementById('PopupDiv').clientHeight;
    if (screenHeight > elementHeight) {
        document.getElementById('PopupDiv').style.top = ((screenHeight - elementHeight) / 2) + 50 +'px';
    }
    else {
        document.getElementById('PopupDiv').style.top = '10px';
        document.getElementById('PopupDiv').style.bottom = '20px';
        document.getElementById('PopupDiv').style.overflow = 'scroll';
    }

    var scrWidth = document.documentElement.clientWidth;
    var elWidth = document.getElementById('PopupDiv').clientWidth;
    document.getElementById('PopupDiv').style.left = ((scrWidth - elWidth) / 2) - 20 + 'px';

    document.getElementById('MaskedDiv').style.display = '';
    document.getElementById('MaskedDiv').style.visibility = 'visible';
} 
问题是。。当screenheight 下次单击按钮时,如果screenheight>elementheight,控件将转到if语句, 但是弹出的维度又是x和y。也就是说,尺寸是从先前的按钮单击事件中携带的。
有没有办法确保弹出窗口完全符合gridview?

您是否尝试过在var、var和if行上设置断点?然后慢慢地通过代码?我很好奇,如果“减慢”JavaScript速度,是否可以获得正确的elementheight和screenheight。这不是一个很好的答案,但我有一个类似的情况,我必须通过在代码上放置计时器来降低代码的速度,这样它才能获得元素的正确维度,然后在事件发生后继续执行if语句。我会出示密码,但那是以前的雇主


我希望这能有所帮助。

嘿!谢谢你的评论。这对我的情况没有帮助。我认为这不是时间问题。但是我不知道问题是什么..哈哈。。我感谢你的帮助!