[英]Jquery/Javascript Math: Why are these two 1 line math problems not giving the same answer?
這兩個數學問題不應該給出相同的答案嗎? 首先完成括號/括號,對嗎? 因此它應該將它們全部相加,然后除以2,然后減去10。下面的第二個答案是一個給出我所需的正確值的方法,另一個給出的值還有很長的路要走。
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;
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
希望這有助於清除差異。
我已經分解了公式,因此您可以看到:
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。這就是為什么不使用它的原因。
var pleft = ($(this).offset().left / 2) + ($(this).width() /2) - ($("#question-wrapper").width() / 2) - 10;
首先完成括號/括號,對嗎?
是的,但是在您的示例中它們並不完全相同。
您的代碼做了什么:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.