如何将未定义值转换为整数值?Javascript

How to Convert undefined to integer value? Javascript

本文关键字:整数 Javascript 转换 未定义      更新时间:2023-09-26

我的问题是,我正在使用.hover方法来获取背景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); 
    }
);

您可能会发现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);

您只需删除"px"

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