首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Palm的念珠应用程序

Palm的念珠应用程序
EN

Code Review用户
提问于 2011-06-09 13:59:32
回答 2查看 249关注 0票数 6

我正试图为Palm创建一个应用程序。这是一个祈祷应用程序,更具体地说是一个念珠应用程序。如果你不是天主教徒,念珠就像一条项链,你可以在项链上数珠子。

我想做的是:

  • 单击4个按钮中的一个来选择4组“神秘”中的一组。
  • 然后,页面显示
    • 神秘集的标题(少数情况除外)
    • 个人神秘的标题
    • 伴随着它的祈祷
    • 你戴的珠子

  • 每一页都有一个按钮,“下一个珠”,你点击这个按钮,进入下一个祈祷和珠子。

例行公事如下:

  1. 在神秘的之前
    • 使徒的信条,我们的父,三个万岁的玛丽,荣耀的被,和法蒂玛的祈祷

  2. 然后,对于每个神秘的
    • 我们的天父,十个万岁的玛丽,荣耀和法蒂玛祈祷
    • 这一周期将重复5次,每5个神秘。

  3. 在神秘之后-向神圣的女王致敬

我关心的是:

  • 首先,我不确定我是否有最好的设置按钮在开始。使用phone SDK,手机将不得不“监听”哪个按钮被按下。这是我安排的对吗?
  • 第二,我有所有这些如果的话,建立起来,以选择哪个祈祷是用哪个珠。这是最有效的方法吗?

所有的想法都很感激。

代码语言:javascript
复制
<script type="text/javascript">

var chaplet=new Array("The Joyful Mysteries","The Luminous Mysteries","The
                       Sorrowful Mysteries","The Glorious Mysteries");
var mystery=new Array();
mystery[0]=new Array("Annunc","Visit","The Nativ","Present","Temple");
mystery[1]=new Array("Baptism","Wedding", "Kingdom","Transfig","Eucharist");
mystery[2]=new Array("Agony","Scourging","Crowning","Carrying", "Crucif");
mystery[3]=new Array("Resurr","Ascension","Spirit","Assumption","Coronation");
var creed="I believe..."
var ourFather="Hallowed be"
var hailMary="Blessed are thou"
var gloryBe="As it was"
var fatima="Oh my Jesus"
var hailHolyQueen="To thee do we cry"
var dec=0;
var beadCount=0;
var mys=0;
var bead=0;

function nextBead()
{
eventSrcID=(event.srcElement)?event.srcElement.id:'undefined';
if (eventSrcID=='joy') mys=0;
if (eventSrcID=='lum') mys=1;
if (eventSrcID=='sor') mys=2;
if (eventSrcID=='glo') mys=3;

if (beadCount==0)
    {
    div1.innerHTML="Apostles Creed";
    div2.innerHTML="";
    div3.innerHTML="<p>"+creed+"</p>";
    div4.innerHTML="Cross";
    }
else if (beadCount==1)
    {
    div1.innerHTML="Our Father";
    div2.innerHTML="";
    div3.innerHTML="<p>"+ourFather+"</p>";
    div4.innerHTML="Decade 0 Bead "+beadCount;
    };

else if (beadCount<=4)
    {
    div1.innerHTML="For Faith, Hope and Charity";
    div2.innerHTML="";
    div3.innerHTML="<p>"+hailMary+"</p>";
    div4.innerHTML="Decade 0 Bead "+beadCount;
    };

else if (beadCount==5)
    {
    div1.innerHTML="Glory Be";
    div2.innerHTML="";
    div3.innerHTML="<p>"+gloryBe+"</p>";
    div4.innerHTML="Decade 0 Bead "+beadCount;
    };

else if (beadCount==6)
    {
    div1.innerHTML="Fatima Prayer";
    div3.innerHTML="<p>"+fatima+"</p>";
    div4.innerHTML="Decade 0 Bead "+(beadCount-1);
    };

else if (beadCount==72)
    {
    div1.innerHTML="Hail Holy Queen";
    div2.innerHTML="";
    div3.innerHTML="<p>"+hailHolyQueen+"</p>";
    div4.innerHTML="Medal";
    };

else if (beadCount>6 && beadCount<72)   
    {

    div1.innerHTML="<p>"+chaplet[mys]+"</p>";
    div2.innerHTML="<p>"+mystery[mys][dec]+"</p>";

    if (bead==0)
        { 
        div3.innerHTML="<p>"+ourFather+"</p>";
        div4.innerHTML="<p>Decade "+(dec+1)+" Bead "+bead+"</p>";
        };

    else if (bead<=10) 
        {
        div3.innerHTML="<p>"+hailMary+"</p>";
        div4.innerHTML="<p>Decade "+(dec+1)+" Bead "+bead+"</p>";
        };

    else if (bead==11) 
        {
        div3.innerHTML="<p>"+gloryBe+"</p>";
        div4.innerHTML="<p>Decade "+(dec+1)+" Bead "+bead+"</p>";
        };

    else if (bead==12)
        {
        div3.innerHTML="<p>"+fatima+"</p>";
        div4.innerHTML="<p>Decade "+(dec+1)+" Bead "+(bead-1)+"</p>";
        };

    bead++;

    if (bead==13) bead=0;

    if (bead==0) dec=dec+1;

};
beadCount++;
div5.innerHTML="<input type='button' value='Next Bead' onclick='nextBead()' />";
};
</script>
</head>
<body>
<div id="div1">
<input type="button" id="joy" value="The Joyful Mysteries" onclick="nextBead
()" /><br />
</div>
<div id="div2">
<input type="button" id="lum" value="The Luminous Mysteries" onclick="nextBead
()" /><br />
</div>
<div id="div3">
<input type="button" id="sor" value="The Sorrowful Mysteries" onclick="nextBead
()" /><br />
</div>
<div id="div4">
<input type="button" id="glo" value="The Glorious Mysteries" onclick="nextBead
()" /><br />
</div>
<div id="div5">
</div>
</body>    
EN

回答 2

Code Review用户

发布于 2011-06-10 09:35:09

IMHO代码确实需要大量的工作。

  • 使用数组文字构造数组: var chaplet = “/*”欢乐之谜“,”光明之谜..。*/;var谜=[ “Annunc”、“访问”、“Nativ”、“存在”、“寺庙,“洗礼”、“婚礼”、“王国”、“通俗”、“圣餐” // . ];
  • 如果不多次使用字符串,那么将字符串放入变量中是没有意义的。如果您想将应用程序国际化,这是有意义的。在这种情况下,将所有字符串放入一个数据结构中,该结构可以很容易地用不同的语言替换: var string={ joyful_mysteries:“that”、luminous_mysteries:“L烟铝神秘”/等等;
  • div1div2等对于ids来说是非常糟糕的选择。用有意义的名字。
  • 不要编写<p>元素。把它们排除在外,或者用它们代替divs直接在你的HTML中使用。如果使用它们来更改元素之间的距离,则使用样式表代替。
  • 将div3 1和2的字符串和1到7的珠子以及所有珠子的div3字符串也放入数组中。并且不要重复div4的文本和代码。

有更多的建议,但你应该先研究这些问题,然后发布一个新的问题,当你这样做了。

编辑:

顺便说一句,完全是另外一回事:你真的运行了你的代码吗?我刚刚尝试了第一次,它有几个语法错误(额外的;之前的else)。

此外,您似乎使用了事件模型。我对Palm并不熟悉,但我怀疑它使用IE模型,我相信使用标准DOM模型会更好。不要使用IE进行测试,否则你会发现它是不规范的行为。

票数 10
EN

Code Review用户

发布于 2011-06-09 21:32:29

您可能需要考虑将一些变量索引到数组中,数组的内容是具有字符串的附加数组,然后您将设置这些字符串。

票数 1
EN
页面原文内容由Code Review提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codereview.stackexchange.com/questions/2885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档