はじめに
先日、しゃっくりが止まらなくて困っている同僚に祖母直伝の方法を試したら
ピタリと治ったので、それをフローとプログラムに落とし込んでみます。
決してネタに困って出オチ記事に走っているわけではないです。。
フローチャート
プログラム
StopHiccup.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>シャックリ停止めます?</title>
</head>
<body>
<h1>シャックリ停止めます?</h1>
<button id="btn">開始</button>
<div id="area1">カウントダウン</div>
<script>
document.getElementById("btn").addEventListener('click', function() {
var r1 = window.confirm('シャックリが止まりませんか?\nはい=OK、いいえ=キャンセル');
if( r1 ) {
//「true」の処理
window.alert('シャックリ停止シーケンスを開始します。\nまず初めに、めちゃくちゃ息を吸ってみよう!');
var r2 = true;
do{
r2 = window.confirm('限界まで息を吸えてる?(ここが最重要ポイント)\nはい=OK、いいえ=キャンセル');
if( !r2 ) {
window.alert('まだいける!\nこれ以上吸えないってとこまで頑張ってみよう!');
}
}while (!r2);
window.alert('はい!息を止めて!\nあと少しだよ!がんばってー\nカウントダウン開始');
document.getElementById("area1").innerText = 10;
sleep(10, function() {
document.getElementById("area1").innerText = "お疲れ様でした"
window.alert('はい!終わりましたー。息はいて大丈夫です。\nお疲れ様でした。これでもうシャックリは出ないはずです。');
});
}
})
function sleep(waitSec, callbackFunc) {
var spanedSec = 0;
var waitFunc = function () {
spanedSec++;
document.getElementById("area1").innerText = 10 - spanedSec;
if (spanedSec >= waitSec) {
if (callbackFunc) callbackFunc();
return;
}
clearTimeout(id);
id = setTimeout(waitFunc, 1000);
};
var id = setTimeout(waitFunc, 1000);
}
</script>
</body>
</html>
最後に
しゃっくりは横隔膜の痙攣が原因だそうですが、止めるには横隔膜を刺激すれば止まるそうです。
なので、めちゃくちゃ息を吸って大角膜を広げてあげることでシャックリを止めている。
ということでしょうか。
以上、お付き合いいただきありがとうございましたm(__)m