<html>
<head>
<script type="text/javascript">
// 문제 모듈
function Tester()
{
this.cnt = 0;
this.thisObj = null;
this.setTester = function(obj) {
this.test = obj;
}
this.display = function(callBack) {
this.thisObj = eval("this.test.q" + this.cnt);
if(this.thisObj != undefined)
callBack(this.cnt, this.thisObj);
}
this.answer = function(num) {
if(this.thisObj != undefined)
{
if(this.thisObj[0] == num)
this.cnt++; // 정답
else
alert(this.test.msgFalse);
}
}
this.isNext = function() {
return (eval("this.test.q" + this.cnt) == undefined ? false : true);
}
}
// 문제
var test1 = {
msgFalse : "정답이 아닙니다",
q0 : [1,
"정답을 선택하세요",
"TRUE",
"FALSE"
],
q1 : [2,
"구구단을 푸세요\n누구세요는?",
"1x2",
"3",
"9*9"
]
}
// 사용
var a = new Tester();
function SubFunc(num, obj)
{
var ele = document.getElementById("div1");
var str = "Q" + (num+1) + ". " + obj[1] + "<BR>";
for(var i = 2; i < obj.length; i++)
{
str += " <input type='radio' name='awr' value='" + (i-1) +"' onClick='UseFunc(this.value);'>" + obj[i] + "<BR>";
}
ele.innerHTML = str;
}
function UseFunc(num)
{
var obj = document.getElementById("div2");
a.answer(num);
if(a.isNext()) {
obj.innerHTML = "<b>Next >>> </b>";
a.display(SubFunc);
}else {
obj.innerHTML = "<b><a href=\"javascript:alert('응모');\">응모하기 (GO)</a></b>";
}
}
function init() {
a.setTester(test1);
a.display(SubFunc);
/*
while(a.isNext()) {
a.display();
a.answer(1);
}
*/
}
window.onload = init;
</script>
</head>
<body>
<div id="div1"></div>
<br>
<div id="div2" style="position:absolute;top=120px;left=150px;"><b>Next >>></b></div>
</body>
</html>
-----------------------------------------------------------
위의 '문제' 부분에
q0 ~ q? 를 계속 추가해 주면 다른 스크립트 수정없이 재 사용 가능하다.
<head>
<script type="text/javascript">
// 문제 모듈
function Tester()
{
this.cnt = 0;
this.thisObj = null;
this.setTester = function(obj) {
this.test = obj;
}
this.display = function(callBack) {
this.thisObj = eval("this.test.q" + this.cnt);
if(this.thisObj != undefined)
callBack(this.cnt, this.thisObj);
}
this.answer = function(num) {
if(this.thisObj != undefined)
{
if(this.thisObj[0] == num)
this.cnt++; // 정답
else
alert(this.test.msgFalse);
}
}
this.isNext = function() {
return (eval("this.test.q" + this.cnt) == undefined ? false : true);
}
}
// 문제
var test1 = {
msgFalse : "정답이 아닙니다",
q0 : [1,
"정답을 선택하세요",
"TRUE",
"FALSE"
],
q1 : [2,
"구구단을 푸세요\n누구세요는?",
"1x2",
"3",
"9*9"
]
}
// 사용
var a = new Tester();
function SubFunc(num, obj)
{
var ele = document.getElementById("div1");
var str = "Q" + (num+1) + ". " + obj[1] + "<BR>";
for(var i = 2; i < obj.length; i++)
{
str += " <input type='radio' name='awr' value='" + (i-1) +"' onClick='UseFunc(this.value);'>" + obj[i] + "<BR>";
}
ele.innerHTML = str;
}
function UseFunc(num)
{
var obj = document.getElementById("div2");
a.answer(num);
if(a.isNext()) {
obj.innerHTML = "<b>Next >>> </b>";
a.display(SubFunc);
}else {
obj.innerHTML = "<b><a href=\"javascript:alert('응모');\">응모하기 (GO)</a></b>";
}
}
function init() {
a.setTester(test1);
a.display(SubFunc);
/*
while(a.isNext()) {
a.display();
a.answer(1);
}
*/
}
window.onload = init;
</script>
</head>
<body>
<div id="div1"></div>
<br>
<div id="div2" style="position:absolute;top=120px;left=150px;"><b>Next >>></b></div>
</body>
</html>
-----------------------------------------------------------
위의 '문제' 부분에
q0 ~ q? 를 계속 추가해 주면 다른 스크립트 수정없이 재 사용 가능하다.
' 장난감' 카테고리의 다른 글
TPTP를 Eclipse에서 Weblogic 10g3와 함께 사용해 보자. (0) | 2009.04.14 |
---|---|
Unbuntu 8.04 에서 ClearSilver 컴파일 하기. (0) | 2008.09.08 |
개발기 반영 자동화를 만들어보다. (1) | 2008.04.24 |
CVS (0) | 2008.04.16 |
Virtual Machine Profiler Interface (JVMPI) (0) | 2008.04.11 |