javascript - 如何将未定义的值转换为整数值? JavaScript

标签 javascript jquery css variables background

我的问题是我使用 .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/

相关文章:

javascript - 具有未知变量的客户端模板

javascript - Telerik Kendo UI 网格在保留(和恢复)其状态后丢失自定义命令事件处理程序

javascript - 我想使用 ajax 编辑进入 while 循环的品牌名称,数据在输入类型 =“文本”中

javascript - CSS Display : None & JS . show() 中断 JQuery 和 AjaxToolkit 日期选择器

javascript - 为什么在 javascript 中点击外部时不关闭下拉菜单

jquery - 滚动到某个点后垂直定位DIV

javascript - Jquery中div的排序

javascript - stylePreprocessorOptions Angular 8

javascript - 重复使用 Handlebars 查找

javascript - 即使其他方法在同一个对象上工作,jQuery addClass 也不起作用