这个脚本工作正常。但是,一旦 MySql 获取了所有数据,如何停止我的滚动功能和滚动加载器 .gif(隐藏)。
或者,如果有更好的方法。
感谢您的帮助!
Javascript
<script>
$(document).ready(function(){
var limit = 20;
var start = 0;
var action = 'inactive';
function load_city_data(limit, start)
{
$.ajax({
url:"ps_load_data.php",
method:"POST",
data:{limit:limit, start:start},
cache:false,
success:function(data)
{
$('#load_data').append(data);
if(data == '')
{
$('#load_data_message').html("No Data Found");
action = 'active';
}
else
{
$('#imgLoader').html('<img class="animated-gif" src="img/ajax-loader.gif">');
action = "inactive";
}
}
});
}
if(action == 'inactive')
{
action = 'active';
load_city_data(limit, start);
}
$(window).scroll(function(){
if($(window).scrollTop() + $(window).height() > $("#load_data").height() && action == 'inactive')
{
action = 'active';
start = start + limit;
setTimeout(function(){
load_city_data(limit, start);
}, 3000);
}
});
});
</script>
最佳答案
与我最初认为的第 3 方脚本和 CSS(Google API 脚本、CDN CSS 和 CDN 脚本)没有任何关系。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
我都下载了它们并在本地运行它们。 (只涉及Google API,与任何CDN脚本无关)
这段代码运行良好。停止滚动并立即隐藏 ajax-loader.gif。
发现问题出在我的 url:"ps_load_data.php"
实际上我试图运行两个 sql 查询,因此它没有隐藏我的 gif 图像。当我将脚本放在不同的文件中时,它工作正常。
花了很多时间和精力才明白它与我之前的脚本冲突。因为,它没有给我任何错误,所以花了这么长时间。谢谢!
关于javascript - 一旦 MySql 获取了所有数据,如何停止我的滚动功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45660881/