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中通过引用传递的答案: