ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript(jquery)は関数を使ってグローバル変数のコードを変更する_javascriptスキル

JavaScript(jquery)は関数を使ってグローバル変数のコードを変更する_javascriptスキル

WBOY
WBOYオリジナル
2016-05-16 18:42:361301ブラウズ

現在のページをグローバル変数に保存します。同時に、「最後のページ」リンク内のメソッドをクリックして、ページ番号を自動的に最終ページに変更する関数を呼び出し、コメントをロードするメソッドを呼び出します。
しかし、初めて「最後のページ」をクリックしたときにシステムが応答せず、もう一度クリックすると最後のページの情報がキャプチャされたことがわかりました。
グローバル変数が変わっていないということは、ページ番号を変更するとコメントの読み込みメソッドが無効になるのと同じように、グローバル変数も変更されているはずです。
コードは次のとおりです:

コードをコピーします コードは次のとおりです:

var page = 1; / /ページ番号を最初のページに初期化します
var str = ""
$(document).ready(function() {
lostguest(); //ロードするメソッドコメント
$( "a#first").click(function() {
page = 1;
lostguest();
}); .click(function() {
if (page > 1) {
--page;
lostguest();
}
else {
page = 1;
alert("すでに最初のページです! ")
}
})
$("a#next").click(function() {
if (page < pagecount) {
ページ;
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 lossguest = function() {
$.ajax({
url: ' SqlHelper.ashx?page =' ページ、
type: "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.オペレーター"

";
str = "

Content:" n.Event"

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


何が起こっているのか分かりません?専門家の方は説明していただけますか? ?
追記: その後、この効果を達成するための回避策を見つけました。コードは次のとおりです:



コードをコピー
コードは次のとおりです: var page = 1; var str = "";
var pagecount; // 総ページ数を保存します
$(document).ready(function() {
getpagecount(); //総ページ数を取得します
lostguest ();
$("a#first").click(function() {
page = 1;
lostguest();
}) ;
$("a#last ").click(function() {
if (page > 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"、
dataType: 'text'、
beforeSend: function() {
}、
error: function() {
alert( 'システムログレコード数の取得に失敗しました') ;
},
success: function(count) {
pagecount = Number(count); // 読み取られたページの総数
}
})
}
var lossguest = function() {
$.ajax({
url: 'SqlHelper.ashx?page=' ページ,
type: "GET",
dataType: 'json',
beforeSend: function() {
$("#loading").show();
},
error: function() {
alert('システムログの取得に失敗しました');
},
success: 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 までご連絡ください。