if else问题的执行顺序

时间:2016-06-09 08:51:36

标签: jquery if-statement

我有功能,其中一部分工作不正确。

我需要什么 -

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)工作正常。

我认为我在执行顺序中有错误,但不知道如何修复它。

请帮忙!

2 个答案:

答案 0 :(得分: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
}

答案 1 :(得分: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;
}