JavaScriptのイベントコールバック関数って適当に書くと、コードが増えてくると、どんどんぐちゃぐちゃになっていきます。
イベントループを作って処理すると誰でも簡単に読みやすいコードがかけるんじゃないかと思い、ためしに作ってみました。
---------
function print(str)
{
$("#body").append(str+"<br/>");
}
var event_no=0;
function oninit()
{
$("#body").append("<div id=\"tokucyo1\">イベント1</div>");
$("#tokucyo1").click(function(){event_no=1;});
$("#body").append("<div id=\"tokucyo2\">イベント2</div>");
$("#tokucyo2").click(function(){event_no=2;});
$("#body").append("<div id=\"tokucyo3\">イベント3</div>");
$("#tokucyo3").click(function(){event_no=3;});
return 0;
}
function func1()
{
print("event1");
return 0;
}
function func2()
{
print("event2");
return 0;
}
function func3()
{
print("event3");
}
function main()
{
var en=0;
//oninit();
//while(1){
en=event_no;
event_no=0;
//if(en==-1)break;
switch(en){
case 1:
func1();
break;
case 2:
func2();
break;
case 3:
func3();
break;
}
//mysleep(100);
setTimeout(main,100);
//}
}
//main=Concurrent.Thread.compile(main);
$(function(){
oninit();
//Concurrent.Thread.create(main);
main();
});
0 件のコメント:
コメントを投稿