Javascript (window).scrollTop()滚动显示Mozilla中的错误?

Javascript (window).scrollTop()滚动显示Mozilla中的错误?,javascript,jquery,Javascript,Jquery,首先,请不要将其标记为重复问题,因为我已经看到了有关此主题的所有问题,并尝试了所有解决方案,但没有一个对我有帮助。这是我的JSP页面: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> <script s

首先,请不要将其标记为重复问题,因为我已经看到了有关此主题的所有问题,并尝试了所有解决方案,但没有一个对我有帮助。这是我的JSP页面:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script>
            $(window).scroll(function () {
 if ($(window).scrollTop() >= ($(document).height()-250) - ($(window).height())) {
  more_options();
}
});

function more_options() 
{
alert("hii");
}

    </script>
</head>
<body>
    <h1>Hello</h1>
    <h1>Hello</h1>
    <h1>Hello</h1>
    <h1>Hello</h1>
    <h1>Hello</h1>
    <h1>Hello</h1>
    <h1>Hello</h1>
    <h1>Hello</h1>
    <h1>Hello</h1>
    <h1>Hello</h1>
    <h1>Hello</h1>
    <h1>Hello</h1>
    <h1>Hello</h1>
    </body>
 </html>
在Chrome中运行良好,但当我在Mozilla Firefox中运行此页面时,它会反复调用more_options函数并显示不相关的输出。实际上,此处显示的more_options函数是带有alert int it的演示,但实际上我在该函数中使用AJAX并从数据库中获取更多结果。Chrome显示实际结果,但Mozilla显示意外结果并重复来自AJAX调用的条目


这里是。

这是因为Mozilla的平滑滚动。使用布尔变量并将其添加到条件中

JS:

在ajax成功事件之后或需要时,将标志的值更改为
true


鼠标滚轮滚动在Chrome和FF中的实现略有不同。如果拖动滚动条,两个浏览器的行为方式相同。使用
console.log
而不是
alert
,你会得到@Teemu谢谢你,如果我拖动chrome和Mozilla会得到相同的结果,但是wj=当我使用鼠标滚动时,Mozilla不会给出所需的输出。你能提供鼠标滚轮滚动的解决方案吗,或者是karan3112建议的标志。@Teemu karan3112的解决方案不起作用。我会尝试去Bouncer,虽然抱歉,伙计,当我使用鼠标滚轮滚动时,你的解决方案不起作用。如果你能为解决方案添加小提琴,那就太好了。
  $(window).scroll(function () {
 if ($(window).scrollTop() >= ($(document).height()-250) - ($(window).height())) {
  more_options();
    var flag = true; //Global variable with default value True.
        $(window).scroll(function () {
         if ($(window).scrollTop() >= ($(document).height()-250) - ($(window).height()) && flag == true) {
          more_options();
        }
       });

    function more_options() 
    {
        flag = false;
        alert("hii");
    }