Javascript如果或声明

时间:2016-05-21 12:12:48

标签: javascript if-statement

我正在尝试编写一个简单的JavaScript语句。

 if ($(window).scrollTop() > 400 ) || if (!($(window).scrollTop() + $(window).height() > $(document).height() - 500 )) {
       $nav.addClass('show');
 }

基本上,如果用户从400滚动top以上,从500滚动bottom以上,我想添加班级show

1 个答案:

答案 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人员来识别您的程序中的每个语法错误,您可以继续并完成您的项目。