3

我不明白为什么它不喜欢我的overflow-y语法?

在此处输入图像描述

function show_modal(target){
    $(target).modal({
        backdrop: true,
        keyboard: true
    }).css({
        width: 'auto',
        overflow-y: 'hidden',
        'margin-left': function () {
            return -($(this).width() / 2);
        }
    });
    $(target).modal('show');
}
4

2 回答 2

3

DOM 将 CSS 属性公开为它们自身的驼峰版本。尝试overflowY改用。

作为一般说明,要将连字符放在对象键名中,您需要使用引号:

{
    "width": 'auto',
    "overflow-y": 'hidden',
    "margin-left": function () {
        return -($(this).width() / 2);
    }
}

我不确定 jQuery 是否会自动将 CSS 名称映射到相应的 DOM 版本,所以最好overflowY改用。

正如 Chris Heald 所指出的,jQuery 实际上接受连字符的属性名称以及骆驼大小写的属性名称,因此overflow-y(如果您使用引号)或者overflowY应该工作。

于 2012-12-17T12:03:41.620 回答
2

overflow-y是溢出减去 y,这是一个语法错误,因为对象文字的关键部分必须是标识符字符串文字数字文字,而不是表达式。要使用 overflow-y 属性,您可以将属性名称引用到字符串文字中,如下所示:'overflow-y': 'hidden',

于 2012-12-17T12:07:29.250 回答