2006-11-23
■ [JavaScript] Arrayオブジェクトのsortメソッドは遅い?

404 Blog Not Found:javascript - Array#sortがオレquicksortより遅い!?
うーん、でもJavaScriptでそんなに大きな配列のソートってしないから、あんまり気にならないかも。
トラックバック - http://javascript.g.hatena.ne.jp/muscovyduck/20061123
2006-11-13
■ [JavaScript] ニンテンドーDSブラウザーでもJavaScriptで日記サイト

このあいだの「JavaScriptで日記サイト」はニンテンドーDSブラウザーでは動かない(Ajax.RequestによるHTTPでのデータ取得ができない)みたいだよ。
ニンテンドーDSブラウザーでも動くように、日記のファイルをJavaScriptのスクリプトにしちゃって、script要素を生成して呼び出すように改造してみたよ。一応動くけど、あんまりスマートじゃないねえ。
<html>
<head id="head">
<script language="JavaScript" type="text/javascript" src="prototype.js">
</script>
<script id="script" language="JavaScript" type="text/javascript" src="20061110.js">
</script>
<script type="text/javascript">
function makeChangeText(files) {
var i = 0;
function f (x) {
i = (i + x) % files.length;
if (i < 0) i += files.length;
return files[i];
}
return f;
}
var textFile = makeChangeText(["20061110.js", "20061109.js", "20061108.js", "20061107.js"]);
function changeText(x) {
$("head").removeChild($("script"));
script = document.createElement('script') ;
script.src = textFile(x) ;
script.type = 'text/javascript' ;
script.language = 'JavaScript' ;
script.id = 'script' ;
$("head").appendChild(script) ;
$("message").innerHTML = diaryText;
}
</script>
</head>
<body onload="changeText(0)">
<button onclick="changeText(1)">前の日</button>
<button onclick="changeText(-1)">次の日</button>
<div id="message"></div>
<button onclick="changeText(1)">前の日</button>
<button onclick="changeText(-1)">次の日</button>
</body>
</html>
また今回も無料レンタルWebスペースにhtmlファイルを置いてみたよ。
http://muscovyduck.kusakage.com/javascript/diary2/
ニンテンドーDSブラウザーからでも「前の日」「次の日」をタップすると日記の表示が変わるのを試してみてね。
でも、さいしょの1回目のタップに反応しないのはどうしてかな?
トラックバック - http://javascript.g.hatena.ne.jp/muscovyduck/20061113
2006-11-11
■ [JavaScript] HTTPでデータを取得

昨日の「スライドショー」の応用で、「日記サイト」を作ってみるよ。今回は作る過程の説明は省略するよ。ポイントはAjax.Requestによる「HTTPでデータを取得」の部分だよ。
<html>
<head>
<script language="JavaScript" type="text/javascript" src="prototype.js">
</script>
<script type="text/javascript">
function makeChangeText(files) {
var i = 0;
function f (x) {
i = (i + x) % files.length;
if (i < 0) i += files.length;
return files[i];
}
return f;
}
var textFile = makeChangeText(["20061110.txt", "20061109.txt", "20061108.txt", "20061107.txt"]);
function changeText(x) {
new Ajax.Request(textFile(x), {
method: "get",
onComplete: function(request) {
$("message").innerHTML = request.responseText;
}
})
}
</script>
</head>
<body onload="changeText(0)">
<button onclick="changeText(1)">前の日</button>
<button onclick="changeText(-1)">次の日</button>
<div id="message"></div>
<button onclick="changeText(1)">前の日</button>
<button onclick="changeText(-1)">次の日</button>
</body>
</html>
また今回も無料レンタルWebスペースにhtmlファイルを置いてみたよ。
トラックバック - http://javascript.g.hatena.ne.jp/muscovyduck/20061111