javascript - Javascript 中的 LESS 变量给出语法错误

标签 javascript math less

我创建了一个 Javascript 表达式来根据我希望网格系统具有的一些所需的折叠特性来评估列的宽度,但我的 LESS代码给了我一个“语法错误”。这是我的代码:

.setColumnWidths(@maxcolumns, @num_cols, @min_resolution){
    @media screen and(min-width: @min_resolution) {
        .row {
            .onecol {
                width: ~ `Math.min(100%, (100% / {@num_cols}*Math.ceiling({@num_cols}*1/{@maxcolumns})))`;
            }
            .twocol {
            ~ `  Math.min(100%, (100% / {@num_cols}*Math.ceiling({@num_cols}*2/{@maxcolumns})))  `;
            }
            .threecol {
                width: ~ `Math.min(100%, (100% / {@num_cols}*Math.ceiling({@num_cols}*3/{@maxcolumns})))`;
            }
            .fourcol {
                width: ~ `Math.min(100%, (100% / {@num_cols}*Math.ceiling({@num_cols}*3/{@maxcolumns})))`;
            }
            .fivecol {
                width: ~ `Math.min(100%, (100% / {@num_cols}*Math.ceiling({@num_cols}*5/{@maxcolumns})))`;
            }
            .sixcol {
                width: ~ `Math.min(100%, (100% / {@num_cols}*Math.ceiling({@num_cols}*6/{@maxcolumns})))`;
            }
            .sevencol {
                width: ~ `Math.min(100%, (100% / {@num_cols}*Math.ceiling({@num_cols}*7/{@maxcolumns})))`;
            }
            .eightcol {
                width: ~ `Math.min(100%, (100% / {@num_cols}*Math.ceiling({@num_cols}*8/{@maxcolumns})))`;
            }
            .ninecol {
                width: ~ `Math.min(100%, (100% / {@num_cols}*Math.ceiling({@num_cols}*9/{@maxcolumns})))`;
            }
            .tencol {
                width: ~ `Math.min(100%, (100% / {@num_cols}*Math.ceiling({@num_cols}*10/{@maxcolumns})))`;
            }
            .elevencol {
                width: ~ `Math.min(100%, (100% / {@num_cols}*Math.ceiling({@num_cols}*11/{@maxcolumns})))`;
            }
            .twelvecol {
                width: ~ `Math.min(100%, (100% / {@num_cols}*Math.ceiling({@num_cols}*12/{@maxcolumns})))`;
            }
        }
    }
}

上面的代码将允许“折叠”,在调用 mixin 时:

.setColumnWidths(12, 4, 420px);

在这里,我们声明列数应为 4,最大列数为 12,并且这应该在屏幕宽度为 420px 时发生。

为什么会失败,否则我如何使用 javascript 评估这些值?

最佳答案

这是一个语法错误。在 JavaScript 表达式中引用变量的正确语法是 @{var_name}。您发布的代码中有 {@var_name}

关于javascript - Javascript 中的 LESS 变量给出语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12032290/

相关文章:

Javascript - 对数字进行四舍五入

html - 更少的主题 css

css - 是否可以在不在服务器上安装任何东西的情况下使用 CSS 嵌套规则?

c# - 如何在 response.redirect 之前执行启动脚本?

javascript - 同时异步保存到chrome无限存储

c - Google Calculator Glitch,float vs. double 可能是一个可能的原因吗?

css - 如何用 LESS 创建继承?

javascript - 如何执行一项功能至少 3 秒或更长时间

javascript - React 导入组件名称冲突

C++数学函数问题(Linux下)