我的问题是我使用.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);
}
);
答案 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);