Return de fonctions en JS et portée des variables
Résolu/Fermé
Judeminilili
-
Modifié par Judeminilili le 16/07/2015 à 12:20
Utilisateur anonyme - 16 juil. 2015 à 18:33
Utilisateur anonyme - 16 juil. 2015 à 18:33
A voir également:
- Return de fonctions en JS et portée des variables
- Fonction si et - Guide
- Portee wifi - Guide
- Durée de fonctionnement processeur gestionnaire des tâches ✓ - Forum Windows 8 / 8.1
- Virginie organise un rallye avec 30 équipes. elle veut créer un code pour désigner chaque équipe. elle a commencé à la main, mais elle voudrait le faire calculer à l'aide d'une formule. proposez une formule comportant une seule fonction et à recopier vers le bas dans la colonne a du fichier à télécharger. quelle formule sera en a9 ? ✓ - Forum Programmation
4 réponses
Utilisateur anonyme
Modifié par lobotoFix le 16/07/2015 à 14:39
Modifié par lobotoFix le 16/07/2015 à 14:39
Salut,
si le span ne doit contenir que les minutes réel au chargement de la page et les informations de la liste si elle change tu peux faire ceci :
si tu tiens à utiliser une fonction, tu peux faire par exemple ainsi :
׺°"~'"°º×]|I{*------» LÖBÖTÖ «------*}I|[׺°"~'"°º×
si le span ne doit contenir que les minutes réel au chargement de la page et les informations de la liste si elle change tu peux faire ceci :
<body> <select> <option value="liste-1">1</option> <option value="liste-2">2</option> <option value="liste-3">3</option> <option value="liste-4">4</option> <option value="liste-5">5</option> <option value="liste-6">6</option> </select> <span id="minute" style="color:red;font-size: 2em"></span> <script> var d = document; // le span de résultat var span = d.getElementById('minute'); // évenement sur le select d.getElementsByTagName('select')[0].onchange = function() { span.innerHTML = this.value; // resultat de la liste dans le span } span.innerHTML = new Date().getMinutes(); // au chargement de la page </script> </body>
si tu tiens à utiliser une fonction, tu peux faire par exemple ainsi :
<body> <select> <option value="liste-1">1</option> <option value="liste-2">2</option> <option value="liste-3">3</option> <option value="liste-4">4</option> <option value="liste-5">5</option> <option value="liste-6">6</option> </select> <span id="minute" style="color:red;font-size: 2em"></span> <script> var d = document; var span = d.getElementById('minute'); d.getElementsByTagName('select')[0].onchange = function() { getMinute(this.value); // appel de la fonction avec la valeur de la liste } function getMinute(data = null) { // chargement de la page if (null === data) return span.innerHTML = new Date().getMinutes(); // appel de la liste else return span.innerHTML = data; } // chargement de la page getMinute(); </script> </body>
׺°"~'"°º×]|I{*------» LÖBÖTÖ «------*}I|[׺°"~'"°º×
Utilisateur anonyme
Modifié par lobotoFix le 16/07/2015 à 14:10
Modifié par lobotoFix le 16/07/2015 à 14:10
Salut,
comment appel tu ta fonction minute() ?
Il faut savoir que ton événement change ne pourrais fonctionner que durant l'exécution de la fonction minute.
et tu devrais utiliser :
return $(this).val();
je te fais un exemple..attends
׺°"~'"°º×]|I{*------» LÖBÖTÖ «------*}I|[׺°"~'"°º×
comment appel tu ta fonction minute() ?
Il faut savoir que ton événement change ne pourrais fonctionner que durant l'exécution de la fonction minute.
et tu devrais utiliser :
return $(this).val();
je te fais un exemple..attends
׺°"~'"°º×]|I{*------» LÖBÖTÖ «------*}I|[׺°"~'"°º×
Salut, merci pour ta réponse !
En fait j'ai besoin de ce que retourne la fonction minute pour l'afficher ensuite dans une page html (dans un span dont l'id est minute) donc je l'appelle ainsi :
En fait j'ai besoin de ce que retourne la fonction minute pour l'afficher ensuite dans une page html (dans un span dont l'id est minute) donc je l'appelle ainsi :
document.getElementById("minute").innerHTML = minute() ;
Waw je suis vraiment désolée de ne pas avoir répondu plus tôt, j'étais tellement occupée à tester mon code que je n'ai pas vu les heures passer (il faut avouer en plus que comme je débute j'ai mis un peu de temps avant que ça fonctionne ^^).
Bref je ne sais même pas comment te remercier tellement le code fait exactement ce que je voulais (j'ai choisi la deuxième option pcq j'avais envie d'utiliser une fonction). Voici donc mon code final, peut-être qu'il pourra servir à quelqu'un :
J'ai juste apporté quelques modifications :
- j'ai appelé les champs select par leurs ids respectifs
- j'ai enlevé le data=null qui empêchait le bon fonctionnement des conditions chez moi
- j'ai ajouté des petites conditions pour que les heures et les minutes s'affichent avec un 0 devant quand elles sont inférieures à 10 (je sais je suis un peu maniaque ^^)
Merci encore lobotoFix tu m'as sauvée sinon je pense que j'aurais pu galérer encore longtemps, car je n'aurais jamais pensé à faire ça !
Bonne soirée ! ;)
Bref je ne sais même pas comment te remercier tellement le code fait exactement ce que je voulais (j'ai choisi la deuxième option pcq j'avais envie d'utiliser une fonction). Voici donc mon code final, peut-être qu'il pourra servir à quelqu'un :
d.getElementById('form_date_time_minute').onchange =
var d = document;
var spanMinute = d.getElementById('minute');
var spanHour = d.getElementById('hour');
function(){
getMinute(this.value) ;
}
function getMinute(data) {
if (null == data) {
minutes = new Date().getMinutes() ;
if (minutes<10) minutes = "0"+minutes ;
return spanMinute.innerHTML = minutes;
}
else {
if (data<10) data = "0"+data ;
return spanMinute.innerHTML = data;
}
}
d.getElementById('form_date_time_hour').onchange = function(){
getHour(this.value) ;
}
function getHour(data) {
if (null == data) {
hours = new Date().getHours() ;
if (hours<10) hours = "0"+hours ;
return spanHour.innerHTML = hours;
}
else {
if (data<10) data = "0"+data ;
return spanHour.innerHTML = data;
}
}
J'ai juste apporté quelques modifications :
- j'ai appelé les champs select par leurs ids respectifs
- j'ai enlevé le data=null qui empêchait le bon fonctionnement des conditions chez moi
- j'ai ajouté des petites conditions pour que les heures et les minutes s'affichent avec un 0 devant quand elles sont inférieures à 10 (je sais je suis un peu maniaque ^^)
Merci encore lobotoFix tu m'as sauvée sinon je pense que j'aurais pu galérer encore longtemps, car je n'aurais jamais pensé à faire ça !
Bonne soirée ! ;)