我的代码使用 resize 函数布尔值随宽度变化,但我的函数包含 if 语句不读取布尔值,我的代码有什么问题?我用= ==,但我不知道如何准确地使用它们var footerMenu = ['#about', '#help']var slideSwitch = falsefunction slideDown(){ footerMenu.forEach(function(list){ $(list+' p').click(function(){ $(list+' ul').slideToggle(300) }) })}function slideClear(){ for( let i = 0; i < footerMenu.length; i++){ $(footerMenu[i]+' p').click(function(){ var choice = footerMenu[i] footerMenu.splice(i, 1); footerMenu.forEach(function(list){ $(list+' ul').slideUp(300) }) footerMenu.splice(i, 0, choice); }) }}function slideTotal(){ if(slideSwitch = true){ slideDown() slideClear() } }$(document).ready(function() { checkWidth();});$(window).resize(function(){ checkWidth();});function checkWidth(){ $vWidth = $(window).width(); if($vWidth <576){ console.log("Width: Less than 576"); slideSwitch = true }else{ console.log("Width: More than 576"); slideSwitch = false } }slideTotal()我希望更正我的代码,如果我没有任何错误,请建议我如何解决
2 回答
素胚勾勒不出你
TA贡献1827条经验 获得超9个赞
=是赋值运算符。它会更改左侧内容的值。除非你真的知道你在做什么,否则它通常不是你想要的 if 语句。
==和===是比较运算符。它们之间的区别是==自动将两个参数转换为相同类型,而===不会。但这并不重要,我的建议是始终使用===if 语句中的变量进行比较。
此外,与 true ( x === true)相比完全没有意义,因为 if 语句已经这样做了;这是不必要的。
(旁注:您可以这样做if (x === true === true === true),这与if (x).)
你想要的代码是:
function slideTotal() {
if (slideSwitch) {
slideDown();
slideClear();
}
}
一只斗牛犬
TA贡献1784条经验 获得超2个赞
好吧,开始:
function slideTotal(){
if(slideSwitch = true){
slideDown()
slideClear()
}
}
更改:slideSwitch = true 到:slideSwitch == true
添加回答
举报
0/150
提交
取消