テキストに "read more" -click関数が必要です。私は動的に特定のキーワードのためのWikipediaのテキストを読み込むと、この機能を持っている:あなたはelse if
一部で見ることができるようにコンテンツを非同期に読み込むときにJavaScriptが自分の関数を認識しませんか?
function setText(text, lang, full) {
setTimeout(function() { $('#loading').fadeOut('fast'); }, 300);
var mylang = '<?= $_SESSION['lang']; ?>';
if (mylang != 'en' && lang == 'en')
var AppendText = '<span class="db f09 grey mt10"><?= __('TEXT_ONLY_ENGLISH'); ?></span>';
console.log(lang);
if (full) {
$('#text').html('<?= __('EMPTY'); ?>');
setTimeout(function() { $('#text').fadeIn('fast'); }, 500);
} else if (text) {
// Full Text
function fullText() {
console.log('yes');
setText(text, lang, 1);
}
text = text.length > length ? text.substring(0, length - 3) +
'... <a class="cp" onclick="fullText()"><?= __('MORE') ?></a>' : text;
$('#text').html(text).append(AppendText);
setTimeout(function() { $('#text').fadeIn('fast'); }, 500);
}
};
私はアンカータグ上にonclickの設定fullText()
機能を定義しました。私はそれをクリックすると常にfullText is not defined
というメッセージを受け取ります。全文は
Sometextの代わりに表示されますので は、私はちょうど、
1
に変数full
セットと同じsetText()
機能を再呼び出したい...(もっと)は
は、これは、 ajax
を使用せずに可能ですか?どのようなオプションがありますか?
PS:すでにfullText()
の代わりにsetText()
を呼び出してみましたが、それも定義済みの関数として認識されません。 function fullText()
がsetText
にローカルなので
FYIでは、これらの 'setTimeout'呼び出しは必要ありません。代わりに '.delay()'を使うことができます。 '$( '#text')。delay(500).fadeIn( 'fast');' –
よかった、ありがとう、ありがとう。 @squint – AlexioVay
'fullText'関数は、定義されている関数にスコープされています。したがって、' onclick'属性はグローバルスコープ内でそれを探しているので、それを見ることができません。 –