Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 调整DIV中所有元素的大小和位置,以匹配新尺寸_Javascript_Jquery_Css_Html - Fatal编程技术网

Javascript 调整DIV中所有元素的大小和位置,以匹配新尺寸

Javascript 调整DIV中所有元素的大小和位置,以匹配新尺寸,javascript,jquery,css,html,Javascript,Jquery,Css,Html,在我的网站上,我有一个包含很多元素的div。元素通过px中的坐标定位,而不是% div的高度为1000px,宽度为1000px 点击一个按钮,我将Div的大小调整为500px 500px 有没有一种方法,我也可以调整它里面的所有元素的大小,而不必遍历每一个元素,并找出每个元素的新大小和位置应该是什么?而且我需要在不使用百分比的情况下这样做 我只是想问问这是否可行,或者寻找一些提示或提示 谢谢听起来您应该先使用相对测量:) 下面是一些关于如何使用jQuery以“丑陋的方式”执行此操作的示例代码:

在我的网站上,我有一个包含很多元素的div。元素通过px中的坐标定位,而不是%

div的高度为1000px,宽度为1000px

点击一个按钮,我将Div的大小调整为500px 500px

有没有一种方法,我也可以调整它里面的所有元素的大小,而不必遍历每一个元素,并找出每个元素的新大小和位置应该是什么?而且我需要在不使用百分比的情况下这样做

我只是想问问这是否可行,或者寻找一些提示或提示


谢谢

听起来您应该先使用相对测量:)

下面是一些关于如何使用jQuery以“丑陋的方式”执行此操作的示例代码:

$('#container div') // your selector here
    .each(function () {
        var t = $(this);
        var p = t.position();
        t.css({
            left: ~~(p.left * .5),      // ~~ is for flooring
            top: ~~(p.top * .5),        // you could do x / 2 instead of * .5
            height: ~~(t.height() * .5),
            width: ~~(t.width() * .5)
        });
    });
另一种方法可能是使用容器的CSS选择器为容器中的div声明一些备用测量值和坐标。下面是一个例子:

#container { ... }
#container div { position: absolute; }
#container .myDiv1 { left: 40px; top: 40px; height: 100px; width: 100px; }
#container:hover .myDiv1 { left: 20px; top: 20px; height: 50px; width: 50px; }

由于您的度量值正好是当前度量值的一半,因此可以使用jQuery将所有包含元素的高度和宽度减半。