1

我想将使用 jquery 的 css 样式应用于具有固定宽度的元素。

我想让它的左边距是(减去)元素的宽度除以二。

我怎样才能做到这一点?

这是CSS:

.top_middle{
    width: 33%;
    overflow: hidden;
    height: 49%;
    position: absolute;
}

我尝试过这样的事情,但它不起作用:

    var width = $('.top_middle').width()

    $('.top_middle').css(function(){
        'margin-left' : - "width" / 2
    })
4

3 回答 3

1

在您的函数中,您的“”标记中有宽度,这意味着它将作为字符串运行,而不是获取变量尝试

编辑:您的函数对于 jquery 语法似乎是错误的尝试

    var width = $('.top_middle').width() / 2;
$('.top_middle').css('margin-left',-width);

请参阅此处的示例http://jsfiddle.net/domjgreen/ydEwx/2/

于 2013-02-27T11:34:27.257 回答
1

在您的代码中,您试图将字符串“width”除以 2,这不是您想要的。您想将变量宽度除以 2,如下所示:

$('.top_middle').css({
    marginLeft : - (width / 2) + 'px'
});

此外,您将一个函数传递给 css(),您应该传递一个对象或一对与 css 属性相对应的参数以及您要为其设置的值。

于 2013-02-27T11:35:48.020 回答
0

试试这个

var halfwidth = $('.top_middle').width()/2;
$('.top_middle').css({'margin-left' : "-" + halfwidth });
于 2013-02-27T11:36:54.527 回答