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中要求它呢?我喜欢它只移动#外部,不移动所有三个。内部分开。我喜欢它只移动#外部,不移动所有三个。内部分开。