2016-04-03 2 views
1

Я пытался получить функцию для перезагрузки каждую секунду.Javascript получить содержимое содержимого петли

Я могу сделать это с php получить содержимое файла (и перезагрузка мета-страницы), но я также использую JS для отображения времени и его не мгновенного при загрузке, поэтому он имеет мигающий эффект.

Я пробовал это с JS, но ничего не показывает.

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>Vivarium Enviroment Control Centre</title> 
<link rel="stylesheet" href="style.css"> 
<script src="https://code.jquery.com/jquery-1.12.0.min.js"></script> 
<script type="text/javascript"> 
    function updateTime() { 
     var currentTime = new Date(); 
     var hours = currentTime.getHours(); 
     var minutes = currentTime.getMinutes(); 
     var seconds = currentTime.getSeconds(); 
     if (minutes < 10){ 
      minutes = "0" + minutes; 
     } 
     if (seconds < 10){ 
      seconds = "0" + seconds; 
     } 
     var v = hours + ":" + minutes + ":" + seconds + " "; 
     if(hours > 11){ 
      v+="PM"; 
     } else { 
      v+="AM" 
     } 
     setTimeout("updateTime()",1000); 
     document.getElementById('time').innerHTML=v; 
    } 
updateTime(); 

$("document").ready(function(){ 
    setInterval(function(){ 
     $("#wifi").load('wifiout.php'); 
    },1000); 
}); 


function changeStatus() { 
    var image = document.getElementById('lightStatus'); 
    if (image.src.match("lightoff")) { 
     image.src = "lighton.png"; 
    } else { 
     image.src = "lightoff.png"; 
    } 
} 
</script> 
</head> 
<body> 
<div id="topbar"> 
    <span id="time"></span> 
    <div id="wifi"></div> 
    <img id="lightStatus" class="right" onclick="changeStatus()" src="lightoff.png" width="32" height="32"> 
</div> 
</body> 
</html> 
+0

Вы используете синтаксис jQuery, но я не вижу его включенным? –

+0

Это то, что я никогда не делал раньше, так что это очень возможно. –

ответ

1

Working fiddle

Вы упускаете JQuery плагин декларацию, добавьте следующую строку перед тегами сценария:

<script src="https://code.jquery.com/jquery-1.12.0.min.js"></script> 

ПРИМЕЧАНИЕ: Вызвать updateTime() функции внутри готовой функции или вы получите следующую ошибку:

TypeError: Cannot set property 'innerHTML' of null

Потому что вы пытаетесь использовать span time, когда страница еще не загружена.

Надеюсь, это поможет.

+0

Спасибо, я добавил, но он все еще не работает. –

+0

Q обновлен, чтобы отразить внесенные изменения. Файл 'wifiout.php' содержит только тег изображения и не отображается на странице. –

+0

Хорошо, я постараюсь предоставить рабочий живой пример. –

Смежные вопросы