2016-06-09 90 views
0

我有函數,它的一部分工作不正確。if else問題的執行順序

我需要什麼 -

1)如果window width < 768 (do smth) 2)如果window width = 768 (do smth) 3)else (do smth)

有功能

var windowWid = $(window).width(); 
if ($poselok.length > 0) { 
    if (windowWid === 768) { 
     var offset = 0.05; 
    } 
    if (windowWid < 768) { 
     var offset = 0 - $el_full.offset().left - el_margin_left; 
    } else { 
     var offset = 0 - $el_full.offset().left + $sideLeft + 15; 
    } 
} else { 
    var offset = 0 - $el_full.offset().left - el_margin_left; 
}; 

沒有if (windowWid < 768)條件if (windowWid === 768)作品的一部分,但隨着它 - 不。

我試過if (windowWid < 767)if (windowWid <= 767)來分開if但什麼也沒有。

我試過替換if(windowWid === 768)工程但if (windowWid < 768)工作不正確。

我想我在執行順序中有錯誤,但不知道如何解決它。

請幫忙!

回答

1
if (condition1) { 
    block of code to be executed if condition1 is true 
} else if (condition2) { 
    block of code to be executed if the condition1 is false and condition2 is true 
} else { 
    block of code to be executed if the condition1 is false and condition2 is false 
} 
0

不知道這是否應該解決這個問題,但我相信出於某種原因,第二個if也會被執行。嘗試更改代碼如下:

var windowWid = $(window).width(); 
if ($poselok.length > 0) 
{ 
    if (windowWid === 768) 
    { 
     var offset = 0.05; 
    } 
    else if (windowWid < 768) 
    { 
     var offset = 0 - $el_full.offset().left - el_margin_left; 
    } 
    else 
    { 
     var offset = 0 - $el_full.offset().left + $sideLeft + 15; 
    } 
} 
else 
{ 
    var offset = 0 - $el_full.offset().left - el_margin_left; 
}