0

我有一些适用于 WordPress 主题的 jQuery 代码。当我尝试添加自己的函数(不是 jQuery 插件,但它可能是)时,它会破坏插件Every Calendar +1中的 javascript 。日历不呈现。

我自己的功能是

var get_px_int = function(px_string) {
            px_string.replace('/[a-zA-Z]/', '');
            px_string = parseInt(px_string);
            return px_string;
        }

我正在尝试以这种方式使用它

$('#branding').css({
  "min-height" : $("#header-slideshow li").height()
                 + get_px_int($("#header-slideshow").css('margin-top'))
                 + get_px_int($("#header-slideshow li").css('font-size'))*5
});

我需要基于元素的其他高度的最小高度,但 height() 返回“px”,我需要删除文本并将其转换为整数,以便在等式中使用以计算最小高度。所有这些都按应有的方式工作。但只是函数的声明,甚至没有调用它,破坏了插件 javascript。我知道我需要以类似于原型或类之类的方式实例化函数。我已经尝试将函数作为插件,作为对象,我的所有代码都包含在( foo = function() {} )中;富();我的想法不多了。

4

1 回答 1

1

.replace(...)是不必要的,因为partInt()会丢弃尾随的非数字字符,并且不应该有前导的非数字字符。

尝试 :

var get_px_int = function(px_string) {
    return parseInt(px_string || 0) || 0;
};

因此,

  • 如果px_string未定义(这是假的),parseInt()将返回零。
  • 如果parseInt()返回NaN(这是假的),该函数将返回零。

您可以轻松地将默认值更改为您喜欢的任何值。

于 2013-01-13T01:16:29.613 回答