2
votes

je ne peux pas afficher la durée dans la fonction - javascript

Je ne sais pas comment je peux utiliser une fonction interne, puis la montrer par span en html.

voici ma fonction:

<span id='pyr'></span>

et cette balise en 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>

mais je ne peux pas afficher le résultat en html.


4 commentaires

Ce symbole $ dans votre script représente jquery, l'avez-vous ajouté à votre balise de script?


pas de jquery dans le code.


maintenant j'ai corrigé la réponse en ajoutant: setTimeout ('ptt ()', 1000); , Meilleures salutations


s'il vous plaît: le dernier autre qui contient "times.midnight" ne fonctionne pas?! quel est le problème?


3 Réponses :


0
votes

Vous pouvez accéder à un élément HTML spécifique à l'aide de la méthode getElementById () . Dans votre cas, l'ID du span est pyr:

document.getElementById("pyr").innerHTML+="<br/>fa = "+ times.fajr; 

Maintenant, remplacez simplement document.write () par document.getElementById ("pyr"). InnerHTML + = "your content here";

Par exemple:

document.write('<br/>fa = '+ times.fajr);

devient

document.getElementById("pyr");


5 commentaires

merci, je l'ajoute mais ne fonctionne pas, mabe un autre problème dans le code?


Ah, je suppose que je vois ce qui se passe après avoir regardé votre code mis à jour dans la question. Voyez-vous la ligne suivante: document.write (dhours) (et aussi le dernier document.write ('
منتصف الليل =' + times.midnight); ) Ce que vous faites ici, c'est écraser tout votre DOM avec la valeur de dhours - cela signifie que tout et que votre élément span aura disparu! Essayez de commenter ces deux appels document.write ().


J'ai supprimé la ligne 6: document.write (dhours), mais n'a pas fonctionné.


Eh bien, la dernière chose que je vois, c'est que votre fonction n'a pas réellement de nom - ce qui est obligatoire. Comment appelez-vous cette fonction?


maintenant j'ai corrigé la réponse en ajoutant: setTimeout ('ptt ()', 1000); , Meilleures salutations



0
votes

Je ne pense pas que vous appeliez la fonction, du moins pas dans le code que vous avez fourni. Essayez de donner un nom à votre fonction, puis appelez-la.

function funcName () { ... }

funcname()


1 commentaires

maintenant j'ai corrigé la réponse en ajoutant: setTimeout ('ptt ()', 1000); , Meilleures salutations



0
votes

s'il vous plaît, j'ai ajouté un nouveau code pour lire lat et lng à partir du GPS:

    if (lat == null) {
        var lat = 24.46666;
        var lng = 39.59998;

mais cette ligne:

var times = PT.getTimes(date, [lat, lng], +3);

ne peut pas lire lat et lng à partir de ces lignes:

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);

s'il vous plaît qu'est-ce que le wronge?


0 commentaires