Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.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
Html 如何同时移动一组定位的子对象?_Html_Css - Fatal编程技术网

Html 如何同时移动一组定位的子对象?

Html 如何同时移动一组定位的子对象?,html,css,Html,Css,例如: #外部{ 位置:相对位置; } .内部{ 位置:绝对位置; 排名:0 } #一个{ 左:0 } #两个{ 左:200px; } #三{ 左:400px; } 第一 第二 第三 试试这个: $(".inner").each(function(){ var elem = $(this); var before = parseInt(elem.css('left'), 10); elem.css('left', (before - 200) + 'px'); });

例如:

#外部{
位置:相对位置;
}
.内部{
位置:绝对位置;
排名:0
}
#一个{
左:0
}
#两个{
左:200px;
}
#三{
左:400px;
}

第一
第二
第三
试试这个:

$(".inner").each(function(){
    var elem = $(this);
    var before = parseInt(elem.css('left'), 10);
    elem.css('left', (before - 200) + 'px');
});
此函数迭代所有子元素,并对每个子元素调用内部函数

elem
然后表示每个子元素
before
存储
css left
属性的上一个值。(每个孩子不同)

然后将该值向左移动200px

另一种解决方案是使用闭包

$('.inner').css('left', function (index, leftValue) {
    return parseInt(leftValue, 10) - 200 + 'px';
});
试试这个:

$(".inner").each(function(){
    var elem = $(this);
    var before = parseInt(elem.css('left'), 10);
    elem.css('left', (before - 200) + 'px');
});
此函数迭代所有子元素,并对每个子元素调用内部函数

elem
然后表示每个子元素
before
存储
css left
属性的上一个值。(每个孩子不同)

然后将该值向左移动200px

另一种解决方案是使用闭包

$('.inner').css('left', function (index, leftValue) {
    return parseInt(leftValue, 10) - 200 + 'px';
});

嗯,这很容易:

$('#outer .inner').css('left', '-=200px');
签出(我只移动divs 20px来显示它的功能)


在jQuery中选择元素与使用css选择元素几乎相同(不完全相同,但为了简洁起见,它是;)。因此,与css完全一样,选择器
.internal
选择类
internal
的所有元素。调用
.css()
函数将为每个选定元素执行该函数。无需调用
.each()
或类似的东西。

好吧,它非常简单:

$('#outer .inner').css('left', '-=200px');
签出(我只移动divs 20px来显示它的功能)


在jQuery中选择元素与使用css选择元素几乎相同(不完全相同,但为了简洁起见,它是;)。因此,与css完全一样,选择器
.internal
选择类
internal
的所有元素。调用
.css()
函数将为每个选定元素执行该函数。无需调用
.each()
或类似的东西。

这将只使用css:

#outer
{ 
    position: relative;
    margin-left: -200px;
}

这将只使用css:

#outer
{ 
    position: relative;
    margin-left: -200px;
}

你能用提琴或密码笔给我们看一下这个问题吗?你只要把孩子们包在一个容器里,然后把它移开就行了。另外,您刚刚使用了jQuery,但没有将此问题标记为jQuery。。。。那么,你是在CSS还是jQuery中要求它呢?你能用fiddle或codepen向我们展示这个问题吗?你只需要将孩子们包装在一个容器中,然后移动它。另外,您刚刚使用了jQuery,但没有将此问题标记为jQuery。。。。那么你是在CSS还是jQuery中要求它呢?我喜欢它只移动#外部,不移动所有三个。内部分开。我喜欢它只移动#外部,不移动所有三个。内部分开。