そのため、ユーザーがクリックした内容に応じて、divのコンテンツを更新しています。画像を表示することもあれば、テキストを表示することもあります。
var output;
switch(type)
{
case IMAGE:
pages = null;
contentText = null;
upArrow = null;
downArrow = null;
var imageURL = "assets/images/" + items[itemIndex].imageURL;
output = '<img src="' + imageURL + '" class="fullImage" />';
break;
case TEXT:
pageIndex = 0;
pages = items[itemIndex].copy.page;
numPages = pages.length;
lastPageIndex = numPages - 1;
output = '<div id="contentText" class="text"></div>';
output += '<div id="textUpArrow" class="arrow upArrow"></div>';
output += '<div id="textDownArrow" class="arrow downArrow"></div>';
contentText = $("#contentText");
textUpArrow = $("#textUpArrow");
textUpArrow.bind(MOUSE_DOWN, onUpArrowClicked);
textDownArrow = $("#textDownArrow");
textDownArrow.bind(MOUSE_DOWN, onDownArrowClicked);
setText();
break;
}
content.html(output);
問題は範囲に関するもののようです。JSファイルのルートレベルでcontentText、textUpArrow、textDownArrowを宣言しました(rootと呼ばれるかどうかはわかりませんが、すべての関数の外部にあるため、グローバルに使用できます)。
上記の変数をコンソールに出力すると、何も定義されていません。ただし、これらの変数を使用しようとすると、イベントリスナーのためであろうと、jQueryを介してCSSを変更するためであろうと、何も起こりません。
何を調べればいいですか?ありがとう!