我正在尝试编写一个简单的JavaScript语句。
if ($(window).scrollTop() > 400 ) || if (!($(window).scrollTop() + $(window).height() > $(document).height() - 500 )) {
$nav.addClass('show');
}
基本上,如果用户从400
滚动top
以上,从500
滚动bottom
以上,我想添加班级show
答案 0 :(得分:3)
要解决这样的问题,你需要做一些名为" debugging"的事情。有许多个人调试技术。一个基本的方法是用更小的碎片替换东西,或者移除碎片,直到问题消失,或者你得到一个你可以更容易理解的错误。
发表声明
if ($(window).scrollTop() > 400 ) || if (!($(window).scrollTop() + $(window).height() > $(document).height() - 500 )) {
$nav.addClass('show');
}
您将在控制台中收到错误消息。打开控制台并查看错误。 (如果你不知道控制台是什么,放弃你正在做的一切,并在做其他任何事情之前先了解它。)让我们说你无法弄清楚错误是什么问题消息。
在这种情况下,请使用简单的if
替换true
条件中的第一项:
if (true || if (!($(window).scrollTop() + $(window).height() > $(document).height() - 500 )) {
$nav.addClass('show');
}
您将继续收到错误消息。这告诉你
中的问题是不是($(window).scrollTop() > 400 )
部分条件。让我们说你仍然无法理解错误信息,或者弄清楚如何处理它。接下来,将条件的第二部分替换为另一部分true
:
if (true || if (true)) {
$nav.addClass('show');
}
此时,您将收到一条控制台错误消息:
未捕获的SyntaxError:如果
,则出现意外的令牌
初始if
不太可能导致此问题;这显然是有效的JavaScript语法。所以问题必须是条件中的第二个if
。您现在可以得出结论,您不需要,实际上也不能在条件中放置第二个if
语句。去掉它。您的问题已经解决,不依赖于慷慨的SO人员来识别您的程序中的每个语法错误,您可以继续并完成您的项目。