0

CSSの「左」プロパティ値を取得しています。現在は-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

また、これには(.css()関数以外に)jQueryは含まれず、 JavaScriptの事前定義されたコアオブジェクトとの関数です。splitabs StringMath

于 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

これを試してみませんか

alert(Math.abs(kar))

お役に立てれば

于 2012-07-17T12:53:34.903 に答える
0

はい、分割機能を使用できます

以下のコードを試してください。

var jj = kar.split('-')

于 2012-07-17T12:54:38.993 に答える