0

我得到 CSS 'left' 属性值。现在它设置为-50。所以我只想得到 50 可以用拆分功能完成,或者有另一种方法可以做到这一点。还有为什么拆分功能在我的功能中不起作用

<head>

<script type="text/javascript" src="jquery-1.7.2.js"></script>

<script type="text/javascript">

$(document).ready(function() {

$('.box').click(function (){

    var kar=parseInt($(this).css('left'))

var jj= kar.split('')

alert(jj[0])

    })

});
</script>


<style>

.container {

    margin:auto;
    width:500px;
    position:relative

}


.box { background:#FF0000; width:200px; height:200px; position:absolute;left:-50px;}

</style>

</head>

<body>
<div class="container">
<div class="box"></div>

</div>
</body>
4

4 回答 4

2

我认为您正在寻找的是Math.abs 函数

Math.abs(-50); // 50
Math.abs("-50"); // 50

split 函数适用于字符串并返回一个数组,其中字符串的所有部分由给定的分隔符分隔。你给一个空字符串作为分隔符,它在每个字符之后分割你的字符串,如下所示:

"-50".split(""); // result is: ["-","5","0"]
var kar = -50;
kar.split(""); // TypeError: kar.split is not a function

如果你得到一个类似的字符串"-50px",那么你可以这样做:

var leftAsInt = parseInt("-50px".replace(/[A-Za-z]/g, ""),10);
console.log(Math.abs(leftAsInt)); // 50

另外:这里不涉及 jQuery(除了.css()函数),split并且absJavaScript 的预定义核心对象的 String函数和Math.

于 2012-07-17T12:53:25.757 回答
1

使用 Math.abs:

var kar = parseInt($(this).css('left')),
    jj = Math.abs(kar);

参考:

于 2012-07-17T12:53:33.610 回答
1

试试这个怎么样

警报(数学.abs(kar))

希望这可以帮助

于 2012-07-17T12:53:34.903 回答
0

是的,您可以使用拆分功能

试试下面的代码..

var jj= kar.split('-')

于 2012-07-17T12:54:38.993 回答