繁体   English   中英

style.top和style.left不工作

[英]style.top and style.left not working

我写了一个脚本,当按下一个按钮时,formatdialog div会被调整大小。 问题是我无法弄清楚为什么我的javascript代码不起作用。 我能够调整宽度和高度,但无论出于何种原因,顶部和左侧都无法调整。

什么可能导致问题对我没有意义。 Firebug不会给我任何错误。 javascript只调整宽度和高度,忽略顶部和左侧属性。 我猜测css属性导致了问题,我只是不知道是什么。

CSS:

#formatdialog {
            display:none;
            left:25%;
            top:25%;
            width:400px;
            height:200px;
            position:absolute;
            z-index:100;
            background:white;
            padding:2px;
            font:10pt tahoma;
            border:1px solid gray
        }

使用Javascript:

function FormatDialogResize(){
        var elem = document.getElementById('FormatDialog');
        elem.style.top = "10%";
        elem.style.left = "10%";            
        elem.style.width = "600px";
        elem.style.height = "500px";
    }

我也尝试过:

function FormatDialogResize(){
        var elem = document.getElementById('FormatDialog');
        elem.style.top = 10+"%";
        elem.style.left = 10+"%";           
        elem.style.width = "600px";
        elem.style.height = "500px";
    }

谢谢。

为什么类名缺少classId中元素ID的pascal大小写

#formatdialog {

FormatDialog

你有一个错字。

元素ID是formatdialog但你试图调用FormatDialog

var elem = document.getElementById('FormatDialog');

你的代码应该是这样的:

<div id="formatdialog">

</div> 

var elem = document.getElementById('formatdialog');
elem.style.top = "10%";
elem.style.left = "10%";
elem.style.width = "600px";
elem.style.height = "500px";

#formatdialog 
{
    left:25%;
    top:25%;
    width:400px;
    height:200px;
    position:absolute;
    z-index:100;
    padding:2px;
    font:10pt tahoma;
    border:1px solid gray;
    background-color:orange;
}​

如果你想使用Pascal外壳,请确保它在elementId和class中是相同的

检查这个小提琴

我有一个类似的问题,并发现设置.top在我将元素设置为“position:absolute”之后才会起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM