如果用户滚动到页面的特定部分,我有代码通过ajax加载内容。 为了避免多次加载内容,我创建了一个boolean变量,shoudl打开ajax完成并停止下次执行函数。
$( document ).scroll(function() {
switch = true;
if (switch){
if ($(window).scrollTop()>($("div").offset().top)){
$.ajax({
url: "ajax.php",
data: "data",
}).success(function(data) {
$('div').append(data);
switch = false;
});
}
}
});
但是我无法以这种方式修改此变量,函数会触发多次,switch
始终为真。
答案 0 :(得分:0)
D:
是一个关键字,因此您无法将其用作变量名称。
您使用的逻辑也是错误的,您需要在滚动处理程序之外创建变量,以便对处理程序的每次调用都将获得相同的实例,当您启动ajax请求时,标志也应设置为false并且在请求完成时应该设置为true(使用always / complete处理程序,以便处理成功和失败)
switch