连接与数组对象相关的文本:方式和位置
Connecting text relating to array object: how and where?
我正在做一个项目,在这个项目中,我需要几种方法将数组中的对象(特别是字符串)连接到额外的文本位,这些文本位相当于几句话。
目前,我有一个函数可以创建数组,并用与正在玩的游戏相关的值(字符串和数字)填充它:
/* store names by male and female for selection later */
var aliasM = ["Spike", "Mike", "Pops", "Noodles", "Shorty"];
var aliasF = ["Shanna", "Rose", "Sugar", "Alana"];
function aliasSelector() {
if (Math.random() <= 0.55) {
alias = aliasM[Math.floor(Math.random() * aliasM.length)];
var mTook = aliasM.indexOf(alias);
aliasM.splice(mTook, 1)
} else {
alias = aliasF[Math.floor(Math.random() * aliasF.length)];
var fTook = aliasF.indexOf(alias);
aliasF.splice(fTook, 1);
}
return alias;
}
function playerGen(name, alias, turns, mech, cash, credit) {
this.name = name;
this.alias = aliasSelector();
this.turns = 0;
this.mech = Math.ceil(Math.random() * 5);
this.cash = 1000 + Math.round(Math.random() * 1000);
this.credit = Math.round(Math.random() * 2000);
}
/*Next we create array objects for each player */
function nameCheck() {
p1 = document.getElementById("p1Entry").value;
if (p1 !== "") {
playerList.push(new playerGen(p1));
}
/* and so on */
}
我想包括的是每个别名的简短描述。因此,如果玩家获得别名"Spike",就会有一小段告诉我们关于Spike的信息。
如果不将句子包含在数组中,我不知道如何建立这种联系。我认为某种条件可能会起作用,或者创建某种将名称与段落连接起来的符号,存储为变量spikeInfo。我认为最后一种方法最有意义,比如:
var SpikeInfo = "Spike is an HVAC specialist from Fresno who....";
这些东西可以存储在另一个文件中吗?这样做有价值吗?那是一个.txt文件,还是另一个.js文件?
如果您希望在网页上执行此操作,并且将别名信息存储为名为nameBio.html
或类似文件,则可以使用AHAH获取并插入bio。AHAH将获取文件并将其插入HTML元素。如果您想在加载后收集文本,只需获取将其提取到的元素的innerHTML
,或者修改AHAH代码。
这里有一个的例子
HTML
<div id="name"></div>
<div id="bio"></div>
JS-
//Let's assume your randomly picked name is stored in a variable called randNm
var fileName = randNm + "Bio.html";
ahah(filename,bio)
document.getElementById("name").innerHTML = randNm;
var bioText = document.getElementById("bio").innerHTML
nmBio.html:
<!--This Bio Should Be Stored Like This -->
<p>
Lorem Ipsum Dolor Sit Amet Is Absolute Gibberish And Not Even Close To Real Latin...
</p>
如果名称为"Spike",则此代码将获取一个名为"SpikeBio.html"的文件。现在,您可以获取并显示您的姓名和相关的生物信息,以及存储在变量中的生物信息。这当然不是一个整洁或优雅的解决方案,但它只需要很少的代码。
您也可以使用两个阵列:
JS:
var names = ["name1","name2",...];
var bios = ["BioForName1","BioForName2",...];
var whichName = Math.floor(Math.random()*names.length-1);
var chosenName = names[whichName];
var chosenBio = bios[whichName];
这假设一个名称的bio在其数组中的位置与其数组中的名称相同。
我会使用类似的对象文字将段落包含在数组中
[{Name:"spike",Bio:"foo"}, ...]
您可以将它存储为Json,并使用内置的js-Jason对象加载它。
相关文章:
- 以编程方式选择文本Mobile Safari
- 浏览器之间的文本区域更新方式不同
- 如何以非编程方式国际化HTML文本
- HTML5使用Javascript填充文本标记的有效方式
- 如何使文本、数字和日期html输入字段以一致的方式支持Ctrl+Z(撤消)
- fabric.js中的文本对齐方式未按预期工作
- 如何在使用 UIWebView 编辑 HTML 内容时正确调整输入语言更改 (LTR/RTL) 的文本对齐方式
- HTML + JS:设置文本区域内容样式的最佳方式
- 在jquery中,将文本框值分配给标签是正确的编码方式吗
- 用户更改文本框后,无法以编程方式更改文本框's值
- 连接与数组对象相关的文本:方式和位置
- 从正则表达式文本中获取正则表达式字符串表示的最佳方式
- 移动友好型网页设计:如何在输入文本后以编程方式缩小
- 以编程方式触发空格键单击文本区域
- 我如何在 jQuery 中以编程方式设置输入文本框的值
- 如何防止 td 中的文本破坏表格的对齐方式
- iFrame 文本对齐方式
- 以编程方式突出显示聚合物纸张输入中的文本
- NG-model 未定义多种方式无法从文本框获取文本
- 更改文本对齐方式 更改语言后