仅当使用jquery向下滑动时加载数据

仅当使用jquery向下滑动时加载数据,jquery,load,slidedown,Jquery,Load,Slidedown,我有一个链接,当用户点击它时,一些数据加载到一个div中。我想向用户显示等待消息,直到数据完全从服务器获取,然后显示给用户 我还想只在结果框向下滑动时调用数据url,而不是在向下滑动和向上滑动事件中,以减少服务器上的负载 我的代码在这里,但我不知道如何在其中实现第二部分: $(document).ready(function() { $("#prereq").hide(); $("#prereqlink").click(function() {

我有一个链接,当用户点击它时,一些数据加载到一个div中。我想向用户显示等待消息,直到数据完全从服务器获取,然后显示给用户

我还想只在结果框向下滑动时调用数据url,而不是在向下滑动和向上滑动事件中,以减少服务器上的负载

我的代码在这里,但我不知道如何在其中实现第二部分:

$(document).ready(function() {
        $("#prereq").hide();
        $("#prereqlink").click(function() {
             $("#prereq").html("please wait ...");
             $("#prereq").slideToggle("slow");

             $.ajax({ url:"referee.php",
                      success:function(data) {
                              $("#prereq").html(data);
                    }
             });

        });
 });

你能帮我吗???

试试这样的方法,但请注意,我不是很确定


尝试类似的方法,但请注意,我不是很确定

编辑: 我想我们可以删除beforeSend并在$.ajax之前检查类。。。在slideToggle回调中作为 如果$this.is'.downMode'{$.ajax

编辑: 我认为我们可以在slideToggle回调中删除beforeSend并在$.ajax…之前检查类
如果$this.is'.downMode'{$.ajax….

我找到了一种方法。通过使用$prereq.is:可见,我们可以检查它。

我找到了一种方法。通过使用$prereq.is:可见,我们可以检查它。

啊!太好了。我忘记了。所以,没有必要检查类或变量,看看幻灯片是否向上/向下。啊!太好了。我忘记了。所以,没有必要检查类或变量,看看幻灯片是否向上/向下滑梯向上/向下滑动。
var mode = 'down';

$(document).ready(function() {
    $("#prereq").hide();
    $("#prereqlink").click(function() {
         $("#prereq").html("please wait ...");
         $("#prereq").slideToggle("slow");
    if(mode == 'down'){
         $.ajax({ url:"referee.php",
                  success:function(data) {
                        mode = 'up';
                          $("#prereq").html(data);
                }
         });
    }
    else{
        mode = 'down';
    }

    });
});
    $(document).ready(function() {
    $("#prereq").hide();
    /* OR to add class to initialize as required 
     $("#prereq").addClass(("downMode").hide(); 
    */
    $("#prereqlink").click(function() {
         $("#prereq").slideToggle("slow", function(){
             $.ajax({ url:"referee.php",
                  beforeSend: function() {
                   if ($("#prereq").hasClass("downMode")){
                     $("#prereq").html("please wait ...").show();   
                     return true;
                   }
                   /* cancel ajax request */
                   return false ;   
                  },
                  success:function(data) {
                   $("#prereq").html(data);
                  }
             });
        }).toggleClass("downMode");
    });
 });