这是我的jQuery
$('#banner').click(function (){
$('#dropdown_c').toggle();
//ajax request
function recall(){ setTimeout(function () {
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", "http://localhost/ajax/not_data.php", true);
xmlhttp.onreadystatechange = function () {
if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById('dropdown_c').innerHTML = xmlhttp.responseText;
}
}
xmlhttp.send();
document.getElementById('dropdown_c').innerHTML = "<img class='non_auto' id='ajax_loading' src='img/ajax_loading.gif'></img>";
recall();
}, 2000);
};
recall();
function yHandler () {
当用户滚动div ...
时 var dropdown_c = document.getElementById('dropdown_c');
var contentHeight = dropdown_c.offsetHeight;
var yOffset = window.pageYOffset;
var y = yOffset + window.innerHeight;
if(y >= contentHeight) {
//new ajax request
}
}
var dropdown_c = document.getElementById('dropdown_c');
dropdown_c.onscroll = yHandler;
});
每次用户向下滚动时如何调用新的ajax请求?
这是not_data.php
<?php
$name_query=mysql_query("SELECT name FROM names);
while($run_query = mysql_fetch_assoc($name_query)) {
$name = $run_query['name'];
echo $name;
}
?>
我想调用一个新的ajax请求,并在每次用户向下滚动时从表names
获取一个新名称
答案 0 :(得分:1)
您可以使用.scroll来实现此目的。每次滚动事件后都会调用它。
$(window).scroll(function() {
$.ajax({
type: "GET",
url: "not_data.php",
data: dataString,
success: function(res){
alert(name);
}
});
});