ガジェットの画像を一定間隔で切り替える

そんな訳で、ガジェットの画像を切り替えます。

最終的には、特定のURLからXMLデータを拾ってきて(画像ファイル一覧とか)、それにしたがって、ぐるぐると廻すのが良いのですが、ひとまず画像を切り替える部分だけ。

ガジェットの中身はDOMで、普通のブラウザのように扱えます。なので、背景画像を切り替える場合でも、src プロパティの値を変えるだけです。

ガジェット内での指定は、「url( images/photo.png )」のように指定しています。これを、http で指定すれば、そのまま外部サーバーから画像を持ってこれます。

 

     <script type=”text/jscript” language=”jscript”>

var timerid;
var sec = 0;
var count = 0;


function start_timer()
{
 timerid = setInterval( “interval()”, 5000 );
}
function interval()
{
 sec += 5;
 if ( sec >= 30 ) {
  sec = 0;
  count++;
  if ( count >= 4 ) {
   count = 0;
  }
        var oBackground = document.getElementById(“imgBackground”);
        oBackground.src = “url(http://moonmile.net/images/photo”+count+”.png)”;
 }
 var dd = new Date();
 var hour = dd.getHours();
 var min  = dd.getMinutes();
 var s    = dd.getSeconds();
 var status = (“00″+hour).slice(-2,4) + “:” + (“00″+min).slice(-2,4)+”:”+(“00″+s).slice(-2,4);
    var clock = document.getElementById(“clock”);
 clock.innerText = status;
}


        // ——————————————————————–
        // Initialize the gadget.
        // ——————————————————————–
     function init()
     {
         var oBackground = document.getElementById(“imgBackground”);
         oBackground.src = “url(http://moonmile.net/images/photo0.png)”;
   interval();
   start_timer();
        }
     </script>
    </head>
 
<body onload=”init()”>
    <g:background id=”imgBackground”>
 <div id=”clock”>00:00</div>
 <div id=”copyright”><a href=”http://bijo-linux.com”>bijo-linux.com</a></div>
 </g:background>
</body>
</html>

あとは、タイマーを使って、一定間隔で呼び出されるようにすればOK。

上のソースでは、時刻も表示していますが、デバッグ用なので、後で消してしまいます。

あとは、コマンド検索ですね。これは、サーバーに対してxml-rpcとかが良いかな。

 

カテゴリー: サイドバーガジェット パーマリンク