0
내 페이지로 스크롤하여 내용을로드하는 동안 문제가 발생했습니다. 아약스의 실행 속도가 너무 빠르기 때문에 두 번째, 세 번째 등은 DOM에로드 된 첫 번째 아약스 호출에서 올바른 정보를 얻지 못합니다.마지막으로 완전히로드되고 성공한 경우에만 ajax를 다시 실행하십시오.
어떻게 작성합니까? 마지막 아약스 호출이 완료되고 성공한 경우에만 스크립트가 실행됩니다. 마지막 아약스 호출이 완료 될 때까지 위와 아래로 스크롤 할 때마다 건너 뜁니다. 그리고 아약스는 처형 될 수 있습니다. 아약스를로드 할 때까지 더 이상 반복해서.
여기 내 jQuery 스크립트입니다.
<script type="text/javascript">
$(document).ready(function(){
$(window).scroll(function(){
if ($(window).scrollTop() <= $(".wrapper_ac").offset().top + $(".wrapper_ac").height()) {
$(document).ajaxStart(function() {
var ajaxURLvalue = '../../modules/language_text_loading/load_content.php';
var langID = 'x';
var onID = 'x';
var setLimit = 'x';
var setIn = 'after';
var theme = 'x';
var setInWhere = 'x';
var conID = 'x';
loadInstant(ajaxURLvalue, langID, onID, setLimit, setIn, theme, setInWhere, conID);
});
}
});
});
</script>
이것은 제 기능입니다.
function loadInstant(ajaxURLvalue, langID, onID, setLimit, setIn, theme, setInWhere, conID) {
var temp_s = $(".ltlID:last").attr("id");
var split_ltlID = temp_s.split(':');
var ltlID = split_ltlID[0];
var acContentBoxID = split_ltlID[1];
var dataString = {
action: 'load',
last_ltlID: ltlID,
//sharedID:acContentBoxID_sharedID,
langID:langID,
setInWhere: setInWhere,
onID:onID,
theme:theme,
conID:conID
};
$.ajax({
type: "POST",
url: ajaxURLvalue,
data: dataString,
cache: false,
success: function(html){
$("#accordionContent"+acContentBoxID+":last").after(html);
});
};
감사합니다.
global_variable = $.ajax({
type: "POST",
url: ajaxURLvalue,
data: dataString,
cache: false,
success: function(html){
$("#accordionContent"+acContentBoxID+":last").after(html);
});
및
는 AJAX 호출 검사하기 전에 변수가 다음과 같이 트루 경우 :if(global_variable){
return false;
}
이 내가 무엇을 할 것이라고
하지만이를 확인하기 위해 ajax를 실행하기 전에 global_variable을 설정하면 안됩니까? 원인이 맞지 않습니다. 오류가 발생합니다. 변수를 찾을 수 없습니다. global_variable – Chak
예 전역 변수가 함수 외부에서 var global_varible로 설정되었습니다. –
나는 이해하고 있는지 확신 할 수 없다. 내가 당신의 코드를 추가했지만 어떤 이유로 위와 아래로 스크롤하는 동안 여전히 그냥로드 및로드 – Chak