Я не могу показать диапазон в функции - javascript

я не знаю, как я могу использовать внутреннюю функцию, а затем показать ее по диапазону в 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, вы добавили его в свой тег скрипта?

Krishna Prashatt 21.03.2019 12:08

нет jquery в коде.

silver 21.03.2019 16:05

теперь я исправил ответ, добавив: setTimeout('ptt()',1000); , С уважением

silver 22.03.2019 17:09

пожалуйста: последнее, что содержит "times.midnight", не работает ?! что не так?

silver 04.04.2019 19:11
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
4
102
3

Ответы 3

Вы можете получить доступ к определенному элементу 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; 

спасибо, я добавил, но не работает, может еще проблема в коде?

silver 21.03.2019 16:08

Ах, я думаю, я вижу, что происходит, посмотрев на ваш обновленный код в вопросе. Вы видите следующую строку: document.write(dhours) (а также более позднюю document.write('<br/>منتصف الليل = '+ times.midnight); ) То, что вы здесь делаете, перезаписываете всю свою DOM со значением часы — это означает, что все и ваш элемент span исчезнет! Попробуйте закомментировать эти два вызова document.write().

obscure 21.03.2019 16:44

я удалил строку 6: document.write(dhours), но не работал.

silver 21.03.2019 16:59

Ну, последнее, что я вижу, это то, что ваша функция на самом деле не имеет имени, которое требуется. Как вы вызываете эту функцию?

obscure 21.03.2019 17:03

теперь я исправил ответ, добавив: setTimeout('ptt()',1000); , С уважением

silver 22.03.2019 17:10

Я не думаю, что вы вызываете функцию, по крайней мере, не в предоставленном вами коде. Попробуйте дать вашей функции имя, а затем вызвать ее.

function funcName () { ... }

funcname()

теперь я исправил ответ, добавив: setTimeout('ptt()',1000); , С уважением

silver 22.03.2019 17:09

пожалуйста, я добавил новый код для чтения широты и долготы с 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;

пожалуйста, что не так?

Другие вопросы по теме