以下に提供したコードに問題があり、Javascript と Jquery は初めてです。コードが行うべきことは、ロード時に「未読通知」の番号をフェッチし、その番号を notes_number という div に配置することです。次に、notes_number から数値を読み取る必要があり、数値が 0 より大きいかどうかに応じて、notes_signal という div が表示されます。
これはロード時に 5 秒ごとに行い、通知ボタンが押されるたびに行います。ロード時に notes_number div に数値が入力されないため、コードが機能していません。また、他のオカレンスは機能していません。ある時点ではうまくいっていると思っていましたが、今は何が起きているのかわかりません。コードは次のとおりです。
//THIS IS TO CHECK WHEN THE PAGE COMES UP
$("#notes_number").load("getnumber.php");
if(document.getElementById("notes_number").innerHTML > 0){
var elem = document.getElementById("notes_signal");
elem.style.display = "";
}
if(document.getElementById("notes_number").innerHTML == 0){
var elem = document.getElementById("notes_signal");
elem.style.display = "none";
}
//THIS IS TO CHECK EVERY 5 SECONDS
window.setInterval(function(){
$("#notes_number").load("getnumber.php");
if(document.getElementById("notes_number").innerHTML > 0){
var elem = document.getElementById("notes_signal");
elem.style.display = "";
}
if(document.getElementById("notes_number").innerHTML == 0){
var elem = document.getElementById("notes_signal");
elem.style.display = "none";
}
}, 5000);
//THIS IS TO CHECK WHEN THE BUTTON IS PRESSED
function toggleDiv(divId) {
$("#"+divId).show();
$(document).ready(function(){
$("#myContent").load("getnotes.php?page=<? echo $page; ?>");
});
$("#notes_number").load("getnumber.php");
if(document.getElementById("notes_number").innerHTML > 0){
var elem = document.getElementById("notes_signal");
elem.style.display = "";
}
if(document.getElementById("notes_number").innerHTML == 0){
var elem = document.getElementById("notes_signal");
elem.style.display = "none";
}
}