【问题标题】:Setting absolute position left in Javascript not working在Javascript中设置绝对位置不起作用
【发布时间】:2012-06-15 21:41:52
【问题描述】:

当 gridview 延伸超过标准 960 像素时,我试图将我的 gridview (asp.net) 位置设置为绝对位置。

但是我遇到了left: 0 具有我想要的效果的问题,但是除此之外的任何东西都不起作用。

这是我的代码。它小于屏幕的部分不起作用,因为我试图将它放在屏幕的中心。但是,由于它大于 0,Left: x 的绝对位置不起作用。任何帮助将不胜感激!

 var gridview = document.getElementsByTagName("table");
            var fieldset = document.getElementsByTagName("fieldset");
            fieldset[0].style.position = "relative";
            for (var i = 0; i < gridview.length; i++) {
                var width = gridview[i].offsetWidth;
                var screenWidth = window.screen.width - 2;

                if (width > 940) {
                    gridview[i].style.position = "absolute";
                    if (width > screenWidth) {
                        gridview[i].style.left = 0;
                        alert('> screen');
                    }
                    else {
                        gridview[i].style.left = 50;
                        alert('< screen');
                    }
                }
            }

编辑:修复是在值之后连接“px”

【问题讨论】:

  • 我建议创建一个简单的示例来演示该问题。我不确定您的示例中是否有足够的内容,但jsfiddle.net 可能会有所帮助。
  • 你必须在你设置的值之后连接单位(可能是px)。
  • 谢谢!那是我必须在它之后连接 px,这是一个愚蠢的错误。谢谢

标签: javascript asp.net css css-position


【解决方案1】:

真的不够继续,但可能是gridview的容器没有设置你的css的位置。

要使用postion:absolute,上面的容器应该设置为position:relative,否则它不会渲染css。

还可以尝试将 px 添加到大小的末尾,将 css 设置为 left:XXpx;而不仅仅是一个数字。

【讨论】:

    猜你喜欢
    • 2016-06-14
    • 2011-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多