1

我想要做的是让内容始终位于容器的中心,即使边距大小和内容大小发生变化。这也意味着容器大小必须根据内容的边距和宽度自行更改。这是一个 js fiddle,它具有一个函数的一般设置和一个给出输出的警报:http: //jsfiddle.net/jpY5n/

function resizeContainer(size, distance) {
var postWidth = size;
var postApart = distance * 3;
return postWidth + postApart;
};
$(document).ready(function () {
$('#container').width(resizeContainer($("#content").width(),$("#content").css("margin-left"));
});

理论上我可以使用我设置的函数来更改帖子的宽度,但它不能计算边距,因为正如您在警报中看到的那样,边距是10px,而不是 10,所以数学返回为NaN ...有没有办法让边距设置让我们说 ßpx 只是 ß?

4

1 回答 1

1

Number您可以通过将字符串解析为 a后替换'px'为来获取边距的数值''

var margin = Number($('#content').css('margin-left').replace('px',''));

这是更新的 Fiddle

HTML

<div id="container">
    <div id="content"></div>
</div>

JavaScript (jQuery)

function resizeContainer(size, distance) {
    var postWidth = size * 2;
    var postApart = distance * 3;
    return postWidth + postApart;
};
$(document).ready(function () {
    alert("Container width should be set to " + $("#content").width() + " times 2 plus " + $("#content").css("margin-left") + " times 3");
    var width = Number($('#content').width());
    var margin = Number($('#content').css('margin-left').replace('px',''));
    $('#content').width(resizeContainer(width,margin));
});
于 2013-03-09T05:15:58.367 回答