я не знаю, как я могу использовать внутреннюю функцию, а затем показать ее по диапазону в html.
это моя функция:
<script type = "text/javascript" src = "praytimes.js"></script>
<script type = "text/javascript">
function ptt() {
var date = new Date(); // today
var dhours = new Date().toTimeString().split(" ")[0];
var PT = new PrayTimes('Makkah');
var times = PT.getTimes(date, [24.46666, 39.59998], +3);
if (times.fajr > dhours){
document.getElementById("pyr").innerHTML = '<center>الفجر <br/>'+ times.fajr + '</center>';
} else if (times.sunrise > dhours){
document.getElementById("pyr").innerHTML = '<center>الإشراق <br/>'+ times.sunrise + '</center>';
} else if (times.dhuhr > dhours){
document.getElementById("pyr").innerHTML = '<center>الظهر <br/>'+ times.dhuhr + '</center>';
} else if (times.asr > dhours){
document.getElementById("pyr").innerHTML = '<center>العصر <br/>'+ times.asr + '</center>';
} else if (times.maghrib > dhours){
document.getElementById("pyr").innerHTML = '<center>المغرب <br/>'+ times.maghrib + '</center>';
} else if (times.isha > dhours){
document.getElementById('pyr').innerHTML+='<center>العشاء <br/>'+ times.isha + '</center>';
} else if (times.midnight > dhours){
//document.write('<br/>العشاء = '+ times.midnight);
document.getElementById('pyr').innerHTML+='<center>منتصف الليل '+ times.midnight + '</center>';
}
}
setTimeout('ptt()',1000);
</script>
и этот тег в html:
<span id='pyr'></span>
но я не могу показать результат в html.
нет jquery в коде.
теперь я исправил ответ, добавив: setTimeout('ptt()',1000); , С уважением
пожалуйста: последнее, что содержит "times.midnight", не работает ?! что не так?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете получить доступ к определенному элементу HTML, используя метод получитьэлемент по идентификатору(). В вашем случае идентификатор диапазона - pyr:
document.getElementById("pyr");
Теперь просто замените document.write() на document.getElementById("pyr").innerHTML+="здесь ваш контент";
Например:
document.write('<br/>fa = '+ times.fajr);
становится
document.getElementById("pyr").innerHTML+ = "<br/>fa = "+ times.fajr;
спасибо, я добавил, но не работает, может еще проблема в коде?
Ах, я думаю, я вижу, что происходит, посмотрев на ваш обновленный код в вопросе. Вы видите следующую строку: document.write(dhours) (а также более позднюю document.write('<br/>منتصف الليل = '+ times.midnight); ) То, что вы здесь делаете, перезаписываете всю свою DOM со значением часы — это означает, что все и ваш элемент span исчезнет! Попробуйте закомментировать эти два вызова document.write().
я удалил строку 6: document.write(dhours), но не работал.
Ну, последнее, что я вижу, это то, что ваша функция на самом деле не имеет имени, которое требуется. Как вы вызываете эту функцию?
теперь я исправил ответ, добавив: setTimeout('ptt()',1000); , С уважением
Я не думаю, что вы вызываете функцию, по крайней мере, не в предоставленном вами коде. Попробуйте дать вашей функции имя, а затем вызвать ее.
function funcName () { ... }
funcname()
теперь я исправил ответ, добавив: setTimeout('ptt()',1000); , С уважением
пожалуйста, я добавил новый код для чтения широты и долготы с GPS:
navigator.geolocation.getCurrentPosition(function (pos) {
var lat = pos.coords.latitude;
var lng = pos.coords.longitude;
if (lat == null) {
var lat = 24.46666;
var lng = 39.59998;
} else {
alert("Latitude: "+ lat + " , Longitude: " + lng );
}
});
var date = new Date(); // today
var dhours = new Date().toTimeString().split(" ")[0];
var PT = new PrayTimes('Makkah');
var times = PT.getTimes(date, [lat, lng], +3);
но эта строка:
var times = PT.getTimes(date, [lat, lng], +3);
не могу прочитать lat и lng из этих строк:
if (lat == null) {
var lat = 24.46666;
var lng = 39.59998;
пожалуйста, что не так?
Этот символ $ в вашем скрипте представляет jquery, вы добавили его в свой тег скрипта?