为什么这个if / else语句总是执行if分支?

时间:2013-02-07 14:44:30

标签: javascript jquery

嘿伙计我知道存在.slideToggle()但我想稍后添加更多功能。

我不知道我做错了什么,滑动工作但我不能滑下来。

我可以不覆盖我的var吗?当有人可以帮助我时会非常好。

$(document).ready(function () {

    var resizeValue = true;
    $(".resizeSelect").click(function () {
        if (resizeValue === true) {
            $(".resize").slideUp(

            function () {
                $('.parent').height($('.child').height('100'));
            });
            var resizeValue = false;
        } else {
            $(".resize").slideDown(

            function () {
                $('.parent').height($('.child').height('100'));
            });
            var resizeValue = true
        };
    });
});

2 个答案:

答案 0 :(得分:8)

您不应重新定义resizeValue函数中的click变量。只需从var移除var resizeValue(只应在ready - 功能的顶部使用)。

答案 1 :(得分:6)

因为您在函数中重新声明了变量resizeValue而不是更新它:

$(document).ready(function () {

    var resizeValue = true;
    $(".resizeSelect").click(function () {
        if (resizeValue === true) {
            $(".resize").slideUp(

            function () {
                $('.parent').height($('.child').height('100'));
            });
            //DO NOT DECLARE NEW VARIABLE WITH VAR
            resizeValue = false;
        } else {
            $(".resize").slideDown(

            function () {
                $('.parent').height($('.child').height('100'));
            });
            //DO NOT DECLARE NEW VARIABLE WITH VAR
            resizeValue = true
        };
    });
});