0

我正在尝试制作一个剪辑窗口,但没有发生,这是代码示例:

<html>
<head>
    <style>
        #clippingWindow
        {
            height:178px;
            width:278px;
            overflow: hidden;
        }
        #bgImg
        {
            left:35px;
            border:54px;
        }
    </style>
    <script language="javascript">

        function getImgSize()
        {

            var ds = document.getElementsByName('a');
            var wid = ds[0].width;
            var pos = (wid-278)/2;

            alert(pos);
            alert(ds[0].id);

            if(ds[0].width>278)
            {
                dt.style.left=500; //this is not working
            }
        }
    </script>
</head>
<body><input type="button" onClick="getImgSize();">
    <div id="clippingWindow">
        <img name="a" src="sss.bmp" id="bgImg">
    </div><br><br><br>
    <div id="ad">
        <img name="a" src="484.jpeg">
    </div>
</body>
</html>
4

3 回答 3

2

您可能需要将position要定位的元素的属性设置为类似absoluterelative(例如ds.style.position = "relative";)。该left属性对静态定位的元素没有任何影响。

此外,您可能需要使用"500px"而不是 number 500

于 2012-09-25T20:56:09.640 回答
1

我看到三个问题:

  1. dt.style.left=500;应该ds.style.left=500; (but see point #3)
  2. 你需要定位你的#bgImg元素。前任:position:relative;
  3. 大多数浏览器应该可以使用您的 500 单元,ds.style.left=500;dts.style.left='500px';会更好。

jsFiddle 示例

于 2012-09-25T21:01:31.197 回答
0

您必须使用值和测量值设置 css 属性“left”,例如“500px”(您忘记了 px)

于 2012-09-25T20:55:05.117 回答