我想使用jquery将css样式应用于具有固定宽度的元素。
我想让它的margin-left为(减去)元素的宽度除以2。
我该怎么做?
这是css:
.top_middle{
width: 33%;
overflow: hidden;
height: 49%;
position: absolute;
}
我试过这样的事情,但它不起作用:
var width = $('.top_middle').width()
$('.top_middle').css(function(){
'margin-left' : - "width" / 2
})
答案 0 :(得分:1)
在你的函数中,你有“”标记的宽度,这意味着它将作为一个字符串运行而不是拿起变量试试
编辑:您的函数似乎错误的jquery语法尝试
var width = $('.top_middle').width() / 2;
$('.top_middle').css('margin-left',-width);
答案 1 :(得分:1)
在你的代码中,你试图将字符串“width”除以2,这不是你想要的。您希望将变量宽度除以2,如下所示:
$('.top_middle').css({
marginLeft : - (width / 2) + 'px'
});
此外,您正在将函数传递给css(),您应该传递一个对象或一对与css属性相对应的参数以及要为其设置的值。
答案 2 :(得分:0)
试试这个
var halfwidth = $('.top_middle').width()/2;
$('.top_middle').css({'margin-left' : "-" + halfwidth });