4

重複の可能性:
Javascript または jQuery の Left() 関数

私は1つのdivを持っており、以下のようなスタイルを与えています。

#MainDiv
{
    position:relative;    
    left:150px;
    right:150px;

}

#MainDiv左右のパラメーターに基づいて、これの幅を指定したいと思います。このために、私は以下のように与えます。

$("#MainDiv").width($("#MainDiv").width() - $("#MainDiv").css("left") - $("#MainDiv").css("right"));

しかし 、アラートで$("#MainDiv").css("left")私を与えています。150pxだけ欲しい150。そのために、offsetプロパティ$("#MainDiv").offset().leftとを使用しまし$("#MainDiv").offset().rightた。左の値は として来ており158、右の値は として来ていundefinedます。offsetこの状況で正しくないですか?px値の最後でそれを削除して正確な値を取得するにはどうすればよいですか?

4

5 に答える 5

9

行う:

var left = parseInt($("#MainDiv").css("left"), 10);
于 2012-12-26T11:34:46.977 に答える
3

jQuery position()を使用してみてください

 $(element).position().top;
 $(element).position().left;
于 2012-12-26T11:37:22.187 に答える
1
parseInt( $("#MainDiv").css("left").replace('px', '') );
于 2012-12-26T11:33:58.753 に答える
0

px を削除する必要はありません。あなたのスクリプトは間違っています。これはあなたを助けるはずです-

デモ

<div id="MainDiv"></div>

CSS

#MainDiv
{
    position:relative;    
    left:60px;
    right:50px;
    border:1px solid;
    height:10px;
    background-color: yellow;
}

jQuery

$("document").ready(function() {
    $("#MainDiv").width(parseInt($("#MainDiv").css("left")) - parseInt($("#MainDiv").css("right")));
});
于 2012-12-26T11:53:18.097 に答える
0

これを試してください:

$("#MainDiv").css("left").slice(0, -2);
$("#MainDiv").css("right").slice(0, -2);
于 2012-12-26T11:40:11.047 に答える