私は次のjqueryコードを持っています。基本的に - アンカーから値を取得し、その下にサブメニュー コンテンツを表示します。これは完全に機能します。
$(function(){
$('.plus').live('click', function(event){
event.preventDefault();
$(this).addClass('lower');
var existingPath = $(this).attr('rel');
GetSubs(this, existingPath);
$(this).removeClass('plus').addClass('open'); //.delay(10000).removeClass('lower');
});
function GetSubs(IDclicked, existingPath){
var dataString;
dataString = 'lang=<%=Lang%>&rel=[' + existingPath + ']';
$.ajax({
type: "GET",
url: "/includes/getSubCatMenuLinks.asp",
data: dataString,
success: function(data) {
$(data).insertAfter(IDclicked);
},
error: function(obj,msg) {
alert('*** Error! ***\n\n'+msg);
}
});
}
});
私がやりたいことは、コンテンツの読み込み中に「読み込み中」アイコンを表示し、完了したら削除することです。
それを表示することは問題ありません-それが行で行われたことです
$(this).addClass('lower');
数行下にあるときに、そのクラスを削除しようとしましたが、movemext は非常に高速であるため、読み込みアイコンも表示されません。つまり、ajax コンテンツはまだ表示されていませんが、jquery コードは既にクラスをロードし、(どこかで) ajax をロードしてからクラスを削除しているため、ロード アイコンも表示されません。
遅延メソッドを使用してみました-1秒または数秒後に削除しましたが、機能しません。
どんな助けでも大歓迎です!
ありがとう!