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

Javascript 为什么这个if/else语句总是执行if分支?,javascript,jquery,Javascript,Jquery,嘿,伙计们,我知道存在.slideToggle(),但我想稍后添加更多功能 我不知道我做错了什么,向上滑动是有效的,但我不能向下滑动 我不能覆盖我的var吗?如果有人能帮我,那就太好了 $(document).ready(function () { var resizeValue = true; $(".resizeSelect").click(function () { if (resizeValue === true) { $(".r

嘿,伙计们,我知道存在
.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
        };
    });
});

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

因为您正在重新定义函数中的变量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
        };
    });
});

您是否尝试输入一些控制台/警报日志,以查看代码挂起的位置?这指向关于JS中通过引用传递的答案: