我的问题是我使用 .hover
方法来获取背景图像的 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);
关于javascript - 如何将未定义的值转换为整数值? JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9833182/