У меня есть сценарий javascript, который получает количество уведомлений из php файла, а затем отображает номер в div в коде.
<script>
//DISPLAY NUMBER OF UNREAD NOTIFICATIONS AND UPDATE EVERY 5 SECONDS
window.setInterval(function(){
$("#notes_number").load("getnumber.php");
}, 5000);
//WHEN THE BUTTON IS PRESSED THIS HAPPENS
function toggleDiv(divId) {
$("#"+divId).show();
//GET THE NOTIFICATIONS
$(document).ready(function(){
$("#myContent").load("getnotes.php?page=<? echo $page; ?>");
});
//RESET THE NUMBER OF UNREAD NOTIFICATIONS
$(document).ready(function(){
$("#notes_number").load("getnumber.php");
});
}
</script>
<div id='notes_number'> </div>
Номер находится в значке в форме колокола, а когда число превышает 9, оно становится неактивным. Я бы хотел, чтобы он был установлен в <div id='notes_number' style='right: 30px;'></div>
когда число превышает 9.
Проблема, с которой я сталкиваюсь, я не знаю, как получить число в переменной php, поэтому я могу сделать оператор if else следующим образом:
if ($thenumber <= "9") {
echo "<div id='notes_number'> </div>";
}
else {
echo "<div id='notes_number' style='right: 30px;'></div>";
}
КОД ИСПОЛЬЗУЕТСЯ НЕДАВНО:
window.setInterval(function(){
$("#notes_number").load("getnumber.php");
var value = parseInt($('#notes_number').text());
if(value > 9){
$('#notes_number').css('right','30px');
}
}, 5000);
В HTML внутри колокола всегда просто поставить <div id='notes_number'></div>
, а затем вы можете загрузить число в вашей JavaScript и добавить стиль с помощью JQuery (если число превышает 9) следующим образом: $('#notes_number').css('right','30px');
Это можно решить на уровне JavaScript. Вместо использования .load
попробуйте использовать .get
для проверки значения, а затем соответствующим образом назначьте стили.
window.setInterval(function(){
$.get("getnumber.php", function(data) {
$("#notes_number").val(parseInt(data,10));
if(parseInt(data,10) > 9) {
$("#notes_number").css('right','30px');
} else {
$("#notes_number").css('right','0');
}
});
}, 5000);
Вы можете использовать одну и ту же надпись:
<div id='notes_number'> </div>
то в вашем jquery вы можете получить значение:
var value = parseInt($('#notes_number').text());
и добавьте класс, если он превышает 9
if(value > 9){
$('#notes_number').addClass('largeNumber');
}
и пусть CSS позаботится о стиле, а не использует встроенные стили через JS:
.largeNumber{
right: 30px;
}