所以这是我的问题。
pageTitle1 = ('This is page one');
pageTitle2 = ('This is page two');
pageTitle3 = ('This is page three');
currentPageTitle = ('pageTitle'+currentPosition);
$("#pageNumber").html(currentPageTitle);
我正在尝试根据我所在幻灯片的currentPosition将当前页面标题显示在屏幕上。我遇到的问题是当我需要它显示“这是第一页”时,上面的代码在屏幕上显示“pageTitle1”。我对javascript很新,所以我觉得这很容易解决,但谷歌搜索的日子并没有给我带来任何好处。
答案 0 :(得分: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];
但是,使用数组是一种更好的方法。
答案 1 :(得分: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( really super unrecommended )
var currentPageTitle = eval('pageTitle'+currentPosition);
答案 2 :(得分:-1)
无需任何其他修改,您可以替换此行
currentPageTitle = ('pageTitle'+currentPosition);
用这个:
currentPageTitle = window['pageTitle'+currentPosition];