使用javascript设计div

时间:2013-06-19 21:42:36

标签: c# javascript jquery css

我正在尝试设置一个包含asp.net gridview的div。 我正在使用javascript代码。 div是asp.net buttonclick事件的弹出窗口。

我有以下代码:

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';
} 

问题是..当屏幕高度< elementheight,控件转到else语句和弹出窗口 用滚动条显示。想象一下,弹出窗口的尺寸是x和y。

下次点击按钮时,如果是屏幕高度> elementheight,控件转到if语句, 但弹出尺寸又是x和y。也就是说,尺寸是从早期的按钮单击事件中获取的。 有什么方法可以确保弹出窗口完美地适合gridview吗?

1 个答案:

答案 0 :(得分:0)

您是否尝试在var,var和if行上添加断点?然后慢慢踩过代码?我很好奇,如果“放慢”JavaScript,可以获得正确的元素高度和屏幕高度。这不是一个很好的答案,但我遇到了类似的情况,我不得不通过在其上放置一个计时器来减慢代码,以便它可以获得我的元素的正确尺寸,然后在事后继续我的if语句。我会展示代码,但那是前雇主......

我希望在某种程度上这会有所帮助。