>  기사  >  웹 프론트엔드  >  JavaScript(jquery)는 함수를 사용하여 전역 변수_javascript 기술의 코드를 수정합니다.

JavaScript(jquery)는 함수를 사용하여 전역 변수_javascript 기술의 코드를 수정합니다.

WBOY
WBOY원래의
2016-05-16 18:42:361253검색

현재 페이지를 전역 변수에 저장합니다. 동시에 "마지막 페이지" 링크의 메소드를 클릭하여 페이지 번호를 마지막 페이지로 자동 변경하는 함수를 호출한 후 댓글을 로드하는 메소드를 호출합니다.
그런데 처음으로 "마지막 페이지"를 클릭했을 때 시스템이 응답하지 않고, 다시 클릭했을 때 마지막 페이지의 정보가 캡처된 것을 발견했습니다!
페이지 번호를 변경하면 댓글 로딩 방식이 무효화되는 것처럼 전역 변수가 변경되지 않았다고 하려면 변경했어야 합니다.
코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

var page = 1; / /페이지 번호를 첫 번째 페이지로 초기화
var str = "";
$(document).ready(function() {
lostguest(); //로드하는 방법 댓글
$( "a#first").click(function() {
page = 1;
lostguest();
})
$("a#last") .click(function() {
if (페이지 > 1) {
--page;
lostguest();
}
else {
page = 1;
alert("이미 첫 번째 페이지입니다! ")
}
})
$("a#next").click(function() {
if (페이지 < 페이지 수) {
page;
lostguest();
}
else {
alert("마지막 페이지입니다!")
}
})
$("a #all ").click(function() {
getpagecount();
lostguest();
});
})
var getpagecount = function() {
var type = "GetPageCount";
$.ajax({
url: 'GetCount.ashx?type=' type,
type: "GET",
dataType: 'text',
beforeSend: function() {
},
error: function() {
alert('시스템 로그 레코드 수를 가져오지 못했습니다.')
},
success: function( count) {
pages = Number(count);
}
})
}
var Lostguest = function() {
$.ajax({
url: ' SqlHelper.ashx?page =' 페이지,
유형: "GET",
dataType: 'json',
beforeSend: function() {
$("#loading").show() ;
} ,
오류: function() {
alert('시스템 로그를 가져오지 못했습니다.')
},
성공: function(msg) {
$(" #guest").empty ();
if (msg != "0") {
var data = msg.log;
str = "";
$.each(data, function (i, n) {
str = "

일련번호:" n.일련번호"게시 날짜" n.Date"사용자 이름:" n.Operator"

";
str = "

Content:" n.Event"

";
});
$("#guest").append (str);
$("#loading").hide();
}
else {
alert("0")
}
} )
}

무슨 일인지 모르겠어요? 전문가들이 설명해주실 수 있나요? ?
PS: 나중에 이 효과를 얻을 수 있는 해결 방법을 찾았습니다. 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
var page = 1;
var str = "";
var pagecount; //전체 페이지 수 저장
$(document).ready(function() {
getpagecount(); // 총 페이지 수 가져오기
lostguest ();
$("a#first").click(function() {
page = 1;
lostguest();
}) ;
$("a#last ").click(function() {
if (페이지 > 1) {
--page;
lostguest();
}
else {
page = 1;
alert("이미 첫 번째 페이지입니다!")
}
})
$("a#next").click(function() {
if (페이지
페이지;
lostguest()
}
else {
alert("마지막 페이지입니다!");
})
$("a#all").click(function() {
page = pagecount; //현재 페이지 번호를 전체 페이지 수로 업데이트
lostguest();
});
})
var getpagecount = function() {
var type = "GetPageCount";
$.ajax({
url: 'GetCount.ashx?type =' 유형,
유형: "GET",
데이터 유형: 'text',
beforeSend: function() {
},
error: function() {
alert( '시스템 로그 레코드 수를 가져오지 못했습니다.') ;
},
success: function(count) {
pagecount = Number(count) //읽은 총 페이지 수
}
})
}
var Lostguest = function() {
$.ajax({
url: 'SqlHelper.ashx?page=' 페이지,
type: "GET",
dataType: 'json',
beforeSend: function() {
$("#loading").show()
},
error: function() {
Alert('시스템 로그를 가져오지 못했습니다');
},
성공: function(msg) {
$("#guest").empty()
if (msg != " 0") {
var data = msg.log ;
str = "";
$.each(data, function(i, n) {
str = "

일련번호: " n. 일련번호" 발행일 "n.Date" 사용자 이름: "n.Operator"

";
str = "

콘텐츠: "n.Event"

" ;
});
$("#guest").append(str);
$("#loading").hide() ;
}
else {
Alert("0");
}
}
})
}


설명할 수 있는 사람이 있나요? 첫 번째 코드에 문제가 있습니까? ? 감사해요!
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.