JavaScript または jQuery を使用してグローバル変数のコード例を変更する方法

伊谢尔伦
リリース: 2017-07-18 17:05:54
オリジナル
1629 人が閲覧しました

ブログシステムのコメントに問題が発生しました。ユーザーが「最後のページ」リンクをクリックすると、最後のページの情報が自動的に取得されて表示されます。

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

var page = 1; //初始化页数为第一页 
var str = ""; 
$(document).ready(function() { 
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 (page < pagecount) { 
++page; 
lostguest(); 
} 
else { 
alert("已经是最后一页了!"); 
} 
}) 
$("a#all").click(function() { 
getpagecount(); 
lostguest(); 
}); 
}) 
var getpagecount = function() { 
var type = "GetPageCount"; 
$.ajax({ 
url: &#39;GetCount.ashx?type=&#39; + type, 
type: "GET", 
dataType: &#39;text&#39;, 
beforeSend: function() { 
}, 
error: function() { 
alert(&#39;获取系统日志记录数失败&#39;); 
}, 
success: function(count) { 
pages = Number(count); 
} 
}) 
} 
var lostguest = function() { 
$.ajax({ 
url: &#39;SqlHelper.ashx?page=&#39; + page, 
type: "GET", 
dataType: &#39;json&#39;, 
beforeSend: function() { 
$("#loading").show(); 
}, 
error: function() { 
alert(&#39;获取系统日志失败&#39;); 
}, 
success: function(msg) { 
$("#guest").empty(); 
if (msg != "0") { 
var data = msg.log; 
str = ""; 
$.each(data, function(i, n) { 
str += "<p id=&#39;xuhao&#39;>序号:" + n.序号 + "发表日期" + n.日期 + "用户名:" + n.操作员 + "</p>"; 
str += "<p id=&#39;content&#39;>内容:" + n.事件 + "</p>"; 
}); 
$("#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 (page < pagecount) { 
++page; 
lostguest(); 
} 
else { 
alert("已经是最后一页了!"); 
} 
}) 
$("a#all").click(function() { 
page = pagecount; //更新当前页数为总页数 
lostguest(); 
}); 
}) 
var getpagecount = function() { 
var type = "GetPageCount"; 
$.ajax({ 
url: &#39;GetCount.ashx?type=&#39; + type, 
type: "GET", 
dataType: &#39;text&#39;, 
beforeSend: function() { 
}, 
error: function() { 
alert(&#39;获取系统日志记录数失败&#39;); 
}, 
success: function(count) { 
pagecount = Number(count); //读取总页数 
} 
}) 
} 
var lostguest = function() { 
$.ajax({ 
url: &#39;SqlHelper.ashx?page=&#39; + page, 
type: "GET", 
dataType: &#39;json&#39;, 
beforeSend: function() { 
$("#loading").show(); 
}, 
error: function() { 
alert(&#39;获取系统日志失败&#39;); 
}, 
success: function(msg) { 
$("#guest").empty(); 
if (msg != "0") { 
var data = msg.log; 
str = ""; 
$.each(data, function(i, n) { 
str += "<p id=&#39;xuhao&#39;>序号:" + n.序号 + "发表日期" + n.日期 + "用户名:" + n.操作员 + "</p>"; 
str += "<p id=&#39;content&#39;>内容:" + n.事件 + "</p>"; 
}); 
$("#guest").append(str); 
$("#loading").hide(); 
} 
else { 
alert("0"); 
} 
} 
}) 
}
ログイン後にコピー

以上がJavaScript または jQuery を使用してグローバル変数のコード例を変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!