0

所以这是我的问题。

pageTitle1 = ('This is page one');
pageTitle2 = ('This is page two');
pageTitle3 = ('This is page three');

currentPageTitle = ('pageTitle'+currentPosition);

$("#pageNumber").html(currentPageTitle);

我正在尝试根据我所在幻灯片的 currentPosition 在屏幕上显示当前页面标题。我遇到的问题是上面的代码在我需要显示“这是第一页”时在屏幕上显示“pageTitle1”。我对 javascript 很陌生,所以我觉得这很容易解决,但是谷歌搜索的日子对我没有任何帮助。

4

3 回答 3

5

使用数组而不是单独命名每个变量。

var pageTitles = [
 'This is page one',
 'This is page two',
 'This is page three'
];

var currentPageTitle = pageTitles[currentPosition];

您的代码不起作用的原因是因为它只是添加两个字符串"pageTitle"并将currentPosition连接的字符串分配给currentPageTitle. 相反,您想要的是获取存储在具有该名称的变量中的值。假设您在全局范围内创建这些(顺便说一句,这不是一件好事),您可以这样做:

var currentPageTitle = window['pageTitle'+currentPosition];

但是,使用数组是一种更好的方法。

于 2011-02-12T03:18:38.070 回答
1

做这样的事情。

var pageTitle = new Array();
pageTitle.push('This is page one');
pageTitle.push('This is page two');
pageTitle.push('This is page three');

currentPageTitle = (pageTitle[currentPosition]);
$("#pageNumber").html(currentPageTitle);

或者干脆使用 eval (真的超级不推荐

var currentPageTitle = eval('pageTitle'+currentPosition);
于 2011-02-12T03:20:19.660 回答
-1

无需任何其他修改,您可以替换此行

currentPageTitle = ('pageTitle'+currentPosition);

有了这个:

currentPageTitle = window['pageTitle'+currentPosition];
于 2011-02-12T03:26:36.320 回答