私のサイトでは、$.get
関数を使用して、データベースからデータを取得し、そのデータを関数にエコーバックするPHPスクリプトへのリンクによって提供されるデータを送信します。関数$.get
は、関数を使用.html(data)
してデータをフェードインし、divに表示します。
$(document).ready(function() {
$('.topNavLink').click(function() {
$.get('/view/scripts/data.php', { 'page' : $(this).text() }, function(data) {
$('#contents').fadeOut(100, function() {
$('#contents').html(data).fadeIn(100)
});
});
});
});
.topNavLink
もちろん、はナビゲーションメニューのすべてのリンクのクラスであり、関数はリンクのタグ間のテキストを読み取ってページの名前を見つけます。
私<div id='#loading'>
は最初にCSSによって隠されているを持っていopacity:0
ます。.fadeIn(100)
関数を使用して、a.topNavLink
がクリックされたときにdivをフェードインし、上記のコードを呼び出してページのコンテンツをロードし、最後にdivをフェードアウトしたいと思います。
私はその前にdivfadeInを呼び出してみまし$.get
た:
$('.topNavLink').click(function() {
$('#loading').fadeIn(100);
$.get('/view/scripts/data.php', { 'page' : $(this).text() }, function(data) {
...
私は次のようにfadeInのコールバックオプションを使用してみました:
$('.topNavLink').click(function() {
$('#loading').fadeIn(100, function() {
$.get('/view/scripts/data.php', { 'page' : $(this).text() }, function(data) {
...
しかし、最終的にはdivが表示されなかったり、コンテンツが読み込まれなかったりします。
私は何を間違っているのですか(そしてうまくいけば、私の意図は明確であり、あなたは私が達成しようとしていることを知っています)?