0

これが私の問題です。

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

currentPageTitle = ('pageTitle'+currentPosition);

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

スライドのcurrentPositionに基づいて、現在のページタイトルを画面に表示しようとしています。私が抱えている問題は、上記のコードが「これは1ページ目です」を表示する必要があるときに画面に「pageTitle1」を表示することです。私はjavascriptに慣れていないので、これは簡単な修正だと感じていますが、何日もグーグルで何も得られませんでした。

4

3 に答える 3

5

各変数に個別に名前を付ける代わりに、配列を使用します。

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

var currentPageTitle = pageTitles[currentPosition];

コードが機能しない理由は、単純に 2 つの文字列を追加し、連結された文字列"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 に答える