鎌倉ライブデモンストレーション・ホームページをさらに改良しました iPhoneでも、iPadでも Macの Safariでも問題なく意図したように動作していることを確認しました
問題は Javascriptの名前空間だったようです jQueryを通常の Javascriptと共にプログラム書くと、jQueryは Javascriptの globalな名前空間から独立するのだと理解しました まあ当たり前のことですね 結局日米国旗が交互に作動するようなプログラムを jQueryで書きました 以下の通りです:
$(function() { "use strict"; setInterval(on_off, 1000); setInterval(off_on, 1000); function on_off() { $(".jp").css("visibility", "visible"); setTimeout(function() { $(".jp").css("visibility", "hidden"); }, 500); } function off_on() { $(".us").css("visibility", "hidden"); setTimeout(function() { $(".us").css("visibility", "visible"); }, 500); });
要するに、setInterval(***, 1000)により ***という関数を jQuery名前空間の中で 1000mSec毎に呼んでいます さらに、setTimeoutにより、500mSec毎に cssの visibility属性を書き換えているのです
この jQuery名前空間のプログラムは globalな Javascriptプログラム (これはこのページでキラキラ作動しているもの)とは独立して動作することになります
ちなみに、このキラキラ部分は、html5の cavas部分に書き込まれています