racine_carree
Exemple : racine carrée, version pour mobiles.
Exemple : racine carrée, version pour mobiles.
TODO : carre_nombre_finissant_par_5, produit_nombres_inf_20, sur le modèle de racine carrée.
Projet de minuteur pour éviter les TMS (troubles musculo-squelettiques) pour: rappels réguyliers incitant à une détente régulière de quelques minutes (yeux, muscles du dos, ...).
Utilisation des fonctions javascript setTimeout, clearTimeout et du contrôle HTML audio.
En chantier.
Tester alarme_oiseau
<!DOCTYPE html>
<html>
<head>
<title>Grive musicienne toutes les 15 mn</title>
</head>
<body>
<audio id="myAudio">
<source src="grive_musicienne_25s_mono_64k.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
<center>
<button onclick="alarme15mn()">Oiseau toutes 15 mn</button>
<br><br>
<button onclick="stopAudio()" type="button">Stopper ce tour</button>
<br><br>
<button onclick="stop_all()" type="button">Tout stopper</button>
<br><br>
<label id="label_1">Label 1</label>
</center>
<script>
var x = document.getElementById("myAudio");
var labl = document.getElementById("label_1");
function playAudio() { x.play(); labl.innerHTML = date_heure(); }
function pauseAudio() { x.pause(); }
function stopAudio() {
x.pause();
x.currentTime = 0;
//~ x.src = x.src;
//~ x.src = '';
//~ clearTimeout ( le_chrono );
}
function stop_all() {
labl.innerHTML = "Toutes alarmes stoppées";
x.pause();
x.currentTime = 0;
//~ x.src = x.src;
//~ x.src = '';
clearTimeout ( le_chrono );
}
function alarme15mn() {
le_chrono = setTimeout ( alarme15mn, 15*60000 ); // 15 mn * 60 secondes
playAudio();
}
function date_heure () { // https://tecadmin.net/get-current-date-time-javascript/
var today = new Date();
var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();
var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
var dateTime = date+' '+time;
return dateTime;
}
</script>
</body>
</html>
Page plein écran, responsive (à vérifier), d'un compte à rebours jusqu'à une date donnée.
Le code javascript est inclus dans la page.
Exemple : Compte à rebours élection
<!DOCTYPE html>
<html>
<style>
body, html {
height: 100%;
margin: 0;
}
.bgimg {
background-image: url('http://www.w3schools.com/w3images/forestbridge.jpg');
height: 100%;
background-position: center;
background-size: cover;
position: relative;
color: white;
font-family: "Courier New", Courier, monospace;
font-size: 25px;
}
.topleft {
position: absolute;
top: 0;
left: 16px;
}
.bottomleft {
position: absolute;
bottom: 0;
left: 16px;
}
.middle {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
}
hr {
margin: auto;
width: 40%;
}
</style>
<body>
<div class="bgimg">
<div class="topleft">
<p>France - 7 mai 2021</p>
</div>
<div class="middle">
<h1>Allez voter !</h1>
<hr>
<p id="demo1" style="font-size:30px"></p>
<p id="demo2" style="font-size:30px"></p>
</div>
<div class="bottomleft">
<p></p>
</div>
</div>
<script>
// Set the date we're counting down to
var countDownDate = new Date("May 7, 2021 08:00:00").getTime();
var countDownDate2 = new Date("May 7, 2021 20:00:00").getTime();
// Update the count down every 1 second
var countdownfunction = setInterval(function() {
// Get todays date and time
var now = new Date().getTime();
// Find the distance between now an the count down date
var d1 = countDownDate - now;
var d2 = countDownDate2 - now;
// Time calculations for days, hours, minutes and seconds
var days1 = Math.floor(d1 / (1000 * 3600 * 24));
var hours1 = Math.floor((d1 % (1000 * 3600 * 24)) / (1000 * 3600));
var minutes1 = Math.floor((d1 % (1000 * 3600)) / (1000 * 60));
var seconds1 = Math.floor((d1 % (1000 * 60)) / 1000);
// Time calculations for days, hours, minutes and seconds
var days2 = Math.floor(d2 / (1000 * 3600 * 24));
var hours2 = Math.floor((d2 % (1000 * 3600 * 24)) / (1000 * 3600));
var minutes2 = Math.floor((d2 % (1000 * 3600)) / (1000 * 60));
var seconds2 = Math.floor((d2 % (1000 * 60)) / 1000);
// Output the result in an element with id="demo"
document.getElementById("demo1").innerHTML =
"Ouverture bureaux de vote<br><br>" +
days1 + "j " + hours1 + "h " +
minutes1 + "m " + seconds1 + "s ";
// Output the result in an element with id="demo"
document.getElementById("demo2").innerHTML =
"<br><br>Fin scrutin<br><br>" +
days2 + "j " + hours2 + "h " +
minutes2 + "m " + seconds2 + "s ";
//~ // If the count down is over, write some text
//~ if (d1 < 0) {
//~ clearInterval(countdownfunction);
//~ document.getElementById("demo1").innerHTML = "Vote en cours";
//~ }
//~ // If the count down is over, write some text
//~ if (d2 < 0) {
//~ clearInterval(countdownfunction);
//~ document.getElementById("demo2").innerHTML = "Vote fini";
//~ }
}, 1000);
</script>
</body>
</html>
Soumettre un formulaire dès qu'on choisit une option dans un select avec onchange="document.nom_du_formulaire.submit();"
<html>
<head>
<title>Bookmark Keeper</title>
</head>
<body bgcolor="lightGray">
<center>
<hr width="50%">
<h1>Bookmark keeper</h1>
<hr width="50%">
<small><i>Retrouvez vos signets partout où vous allez</i></small><br />
<small><i>Your bookmarks anywhere you go</i></small>
<br>
<br>
<form name="frmsubmit" action="kb6.php" method="post">
<select name="username" size="8" onchange="document.frmsubmit.submit();">
<option value="test1">test1</option>
<option value="test2">test2</option>
<option value="test3">test3</option>
<option value="test4">test4</option>
<option value="test5">test5</option>
<option value="test6">test6</option>
<option value="test7">test7</option>
<option value="test8">test8</option>
</select>
</form>
<small>
<a href="index.htm">Version avec mot de passe/Password enabled version</a>
</small>
</center>
</body>
</html>
Intercepter les touches clavier sur la page HTML (body), pour naviguer au clavier
IMPORTANT : ne pas utiliser dans une page interactive où des données doivent être entrées au clavier.
<!DOCTYPE html>
<html>
<head>
<title>Keypress body</title>
<script>
function GetCharG (event){
// chCode est un nombre
var chCode = ('charCode' in event) ? event.charCode : event.keyCode;
alert('chCode = ' + chCode);
menuG(chCode, "");
}
</script>
</head>
<body onkeypress="GetCharG (event);">
<h2>Keypress body</h2>
<p>Appuyer sur une touche pour voir son code</p>
</body>
</html>
Quelques routines js utiles à trier
function validateForm() {
// si on a supprimé des lignes, il se peut que gcurseur
// soit trop haut
var txtarea = document.getElementById("id_sites");
gtoutes_les_lignes = txtarea.value.replace(/\n/gi, "\|\|");
var sizesites = gtoutes_les_lignes.length
if ( sizesites > SITESMAXSIZE )
{ gtoutes_les_lignes = gtoutes_les_lignes.substring(0, SITESMAXSIZE - 1);
aff('La taille totale autorisée est de 65000 caractères'+'\n'+'Les sites prennent ' + sizesites + ' octets.');
return false; }
// aff('[validateForm] gtoutes_les_lignes='+gtoutes_les_lignes);
maj_gdiv1();
update_id_curseur_id_curseur2();
// TODO Sélectionner le texte fautif avec selectionStart et selectionEnd');
var t = document.getElementById("id_sites").value.split('\n');
// source : http://help.dottoro.com/ljtfkhio.php
var input = document.getElementById("id_sites");
input.selectionStart = 1;
input.selectionEnd = 300;
input.focus ();
// Removes ending whitespaces
function RTrim( value ) {
var re = /((\s*\S+)*)\s*/;
return value.replace(re, "$1");
}
// Removes ending '\n'
function RTrim_n( value ) {
var re = /((\s*\S+)*)\n/;
return value.replace(re, "$1");
}
// Removes leading '\n'
function LTrim_n( value ) {
var re = /\n((\s*\S+)*)/;
return value.replace(re, "$1");
}
Détecter en javascript si on est sur un mobile (à vérifier car peut-être ancien).
Tester is_mobile.html.
W3schools, un bouton pour basculer plein écran en javascript : js_fullscreen.
Voir l'exemple w3schools exporté.
Voir aussi : Going full screen with vanilla JS
et une exemple.