私は JavaScript と AJAX の初心者です。
select 要素の状態が変化したときに、AJAX を使用して HTML テーブル要素 (div に含まれる) を更新する JavaScript コードがあります。その部分は完璧に機能します。
一方、不透明度のアニメーションを更新して機能させることができません。Chrome の JavaScript コンソールには次のように表示されます。
キャッチされていない TypeError: 未定義のプロパティ 'style' を読み取れません
JavaScript コードの 2 行目。
これが私のJavaScriptコードです:
function fadeIn(objectToFade) {
objectToFade.style.opacity = parseFloat(objectToFade.style.opacity) + 0.1;
if ( objectToFade.style.opacity < 1 ) {
setTimeout(function() { fadeIn(objectToFade); }, 50);
}
}
function fadeOut(objectToFade) {
objectToFade.style.opacity = parseFloat(objectToFade.style.opacity) - 0.1;
if ( objectToFade.style.opacity > 0.2 ) {
setTimeout(function() { fadeOut(objectToFade); }, 50);
}
}
function changeClient(client) {
var clientTableDiv = document.getElementById("clientTable");
var xmlhttp = new XMLHttpRequest();
fadeOut(document.getElementById("MetricsStatsByClient"));
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
clientTableDiv.innerHTML = xmlhttp.responseText;
fadeIn(document.getElementById("MetricsStatsByClient"));
}
}
xmlhttp.open("GET","functions.php?fct=cc&client=" + client, true);
xmlhttp.send();
}
「スタイル」プロパティが認識されていないようです。私は何を間違っていますか?
ありがとう!
編集1
再帰呼び出しのパラメーターを修正した後、changeClient 関数でこれを実行しているときに NaN (Not a Number) を取得します。
alert(parseFloat(document.getElementById("MetricsStatsByClient").style.opacity));