1

固定幅の要素にjqueryを使ってcssスタイルを適用したい。

要素の幅を 2 ​​で割った値を (マイナス) にしたいのです。

どうやってやるの?

これはcssです:

.top_middle{
    width: 33%;
    overflow: hidden;
    height: 49%;
    position: absolute;
}

私はこのようなもので試しましたが、うまくいきません:

    var width = $('.top_middle').width()

    $('.top_middle').css(function(){
        'margin-left' : - "width" / 2
    })
4

3 に答える 3

1

あなたのコードでは、文字列「width」を2で割ろうとしていますが、これはあなたが望むものではありません。次のように、可変幅を2で除算します。

$('.top_middle').css({
    marginLeft : - (width / 2) + 'px'
});

また、関数をcss()に渡す場合は、cssプロパティとそれに設定する値に対応するオブジェクトまたは引数のペアを渡す必要があります。

于 2013-02-27T11:35:48.020 に答える
1

関数では、「」マークに幅があります。これは、変数を取得せずに文字列として実行されることを意味します

編集:あなたの関数はjquery構文には間違っているようです

    var width = $('.top_middle').width() / 2;
$('.top_middle').css('margin-left',-width);

ここで例を参照してくださいhttp://jsfiddle.net/domjgreen/ydEwx/2/

于 2013-02-27T11:34:27.257 に答える
0

これを試して

var halfwidth = $('.top_middle').width()/2;
$('.top_middle').css({'margin-left' : "-" + halfwidth });
于 2013-02-27T11:36:54.527 に答える