1

これらの 2 つの数学の問題は同じ答えを与えるべきではありませんか? 括弧/括弧は最初に行われますよね? したがって、それらをすべて加算し、2 で割り、10 を減算する必要があります。以下の 2 番目の回答は、必要な正しい値を示しています。もう 1 つは、はるかに離れた値を示しています。

    var pleft = $(this).offset().left + ($(this).width() /2) - ($("#question-wrapper").width() / 2) - 10;

    var pleft = (($(this).offset().left + $(this).width() + $("#question-wrapper").width()) / 2) - 10;
4

3 に答える 3

5
var x = $(this).offset().left;
var y = $(this).width();
var z = $("#question-wrapper");

var pleft = x + (y/2) - (z/2) - 10

var pleft = ((x + y + z) / 2) - 10

うまくいけば、それが違いを解消するのに役立ちます.

于 2010-10-19T08:46:21.457 に答える
2

あなたが見ることができるように、私は式を分解しました:

var pleft = $(this).offset().left <------------------- not divided
+ ($(this).width() /2) 
- ($("#question-wrapper").width() / 2) 
- 10;


var pleft = (
(
    $(this).offset().left  <--------------------- divided
    + $(this).width() 
    + $("#question-wrapper").width()
)
/ 2)
- 10;

最初のケースでは、 $(this).offset().left は 2 で除算されていませんが、2 番目のケースでは除算されているため、同じ結果が得られません。

于 2010-10-19T08:46:40.360 に答える
0

最初の部分では、最初の部分を 2 で割ることはありません。

var pleft = ($(this).offset().left / 2) + ($(this).width() /2) - ($("#question-wrapper").width() / 2) - 10;

括弧/括弧は最初に行われますよね?

はい、しかしあなたの例では完全に同等ではありません。


あなたのコードがしたこと:

  1. a + b/2 - c/2 から 10 を引く
  2. (a + b - c) / 2、次に 10 を引きます
于 2010-10-19T08:45:30.790 に答える