如何将undefined转换为整数值?使用Javascript

时间:2012-03-23 01:59:28

标签: javascript jquery css variables background

我的问题是我使用.hover方法获取background-img的x位置。当我问typeof它返回未定义时。当我要求它提醒我返回的值时,它给了我:" 10px",如何使这个整数值正确存储在变量中?

我的功能如下:

$("#menu li").hover(  
    function () { 
        var xPos = $(this).css('background-position-x')   
        $(this).stop().animate({
            backgroundPosition: xPos + "px 0px"
         }, 500); 
    },  

    function () {
        var xPos = $(this).css('background-position-x')   
        $(this).stop().animate({
            backgroundPosition:  xPos + "px 35px"
        }, 500); 
    }
);

2 个答案:

答案 0 :(得分:3)

你可能会发现你正在寻找parseInt()函数:http://wap.w3schools.com/jsref/jsref_parseint.asp

var xPos = parseInt($(this).css('background-position-x'));

这将评估字符串,直到它遇到非数字字符。所以10px将变为10。

但是,如果您使用它的所有内容都是您编写的功能,那么您可能只需要取消连接的第一个“px”,它应该可以正常工作:

var xPos = $(this).css('background-position-x');
$(this).stop().animate({backgroundPosition: xPos + " 0"}, 500);

答案 1 :(得分:1)

您可以删除'px'

var xPos = $(this).css('background-position-x').slice(0, -2);