コード担当者の何が問題なのですか。これをローカルホストで実行する際に問題があります。これgetModuleData()
は、ユーザーが onclick イベントをトリガーしたときに呼び出されます。module_list div はページの最初のロード時に非表示になり、lastSelectedModule は -1 に設定されます。これで、ユーザーがクリックしてボタンをクリックすると、getModuleData()
. 問題は、ボタンをクリックすると、最初に新しいデータがロードされ、次にフェードアウトしてから再びフェードインすることです。私が本当にやりたいことは、古いデータをフェードアウトしてから新しいデータをフェードインすることです。console.log(); を使用してトレースしてみました。しかし、出力はです。
アヤックスではない
アヤックス
アヤックスではない
アヤックス
html
いくつかのコード
<a href='javascript:void(0);' onClick = 'getModuleData(sampleIdid)'><span>Click me</span>
<div id ="module_list">
<div id ="module_content">
</div>
</div>
JavaScript
function getModuleData(id)
{
if(lastSelectedModule === -1){
var off_set = $('#circular_navigation').offset().top;
$('#module_list').show(1000,null);
$('#hr_blue').show();
animateScroll(off_set,800);
}
if (lastSelectedModule !== id)
{
console.log("Not Ajax");
$('#module_content').fadeOut(1000,'',null);
$('#loading').fadeIn();
$('#module_icon_'+lastSelectedModule).removeAttr('style');
document.getElementById('module_icon_'+id).style.cssText = '-moz-box-shadow: 0 0 0 10px #1589FF; -webkit-box-shadow: 0 0 0 10px #1589FF; box-shadow: 0 0 10px #1589FF;';
$.ajax({
type: "GET",
url: 'getModuleById.php',
data: "module_id=" + id,
success: function(data) {
$('#loading').hide();
$('#module_content').fadeIn(1000,null).html(data);
var targetOffset = $("#"+id).offset().top - $('#circular_navigation').outerHeight(true);
animateScroll(targetOffset,800);
console.log("Ajax");
}
});
lastSelectedModule = id;
}
}