مدیاویکی:Common.js: تفاوت میان نسخهها
پرش به ناوبری
پرش به جستجو
بدون خلاصۀ ویرایش |
بدون خلاصۀ ویرایش |
||
| خط ۲۳: | خط ۲۳: | ||
var box = option.closest( '.wd-test' ); | var box = option.closest( '.wd-test' ); | ||
/* | |||
* اگر تست قبلاً با پاسخ صحیح تمام شده، | |||
* دیگر امکان انتخاب وجود ندارد. | |||
*/ | |||
if ( box.hasClass( 'wd-test-finished' ) ) { | if ( box.hasClass( 'wd-test-finished' ) ) { | ||
return; | return; | ||
| خط ۳۶: | خط ۴۰: | ||
var selectedLetter = ''; | var selectedLetter = ''; | ||
/* | |||
* تشخیص گزینه انتخابشده | |||
*/ | |||
if ( selectedText.indexOf( 'الف' ) === 0 ) { | if ( selectedText.indexOf( 'الف' ) === 0 ) { | ||
selectedLetter = 'الف'; | selectedLetter = 'الف'; | ||
} else if ( selectedText.indexOf( 'ب' ) === 0 ) { | } else if ( selectedText.indexOf( 'ب' ) === 0 ) { | ||
selectedLetter = 'ب'; | selectedLetter = 'ب'; | ||
} else if ( selectedText.indexOf( 'ج' ) === 0 ) { | } else if ( selectedText.indexOf( 'ج' ) === 0 ) { | ||
selectedLetter = 'ج'; | selectedLetter = 'ج'; | ||
} else if ( selectedText.indexOf( 'د' ) === 0 ) { | } else if ( selectedText.indexOf( 'د' ) === 0 ) { | ||
selectedLetter = 'د'; | selectedLetter = 'د'; | ||
} | } | ||
/* | |||
* تبدیل «گزینه ب» به «ب» | |||
*/ | |||
var correctLetter = answer | var correctLetter = answer | ||
.replace( 'گزینه', '' ) | .replace( 'گزینه', '' ) | ||
| خط ۵۱: | خط ۷۱: | ||
.trim(); | .trim(); | ||
/* | |||
* نمایش انتخاب کاربر | |||
*/ | |||
option.addClass( 'wd-selected' ); | option.addClass( 'wd-selected' ); | ||
| خط ۶۸: | خط ۹۲: | ||
.text( '✓ پاسخ شما صحیح است.' ); | .text( '✓ پاسخ شما صحیح است.' ); | ||
answerBox.stop( true, true ).slideDown( 250 ); | answerBox | ||
.stop( true, true ) | |||
.slideDown( 250 ); | |||
box.addClass( 'wd-test-finished' ); | box.addClass( 'wd-test-finished' ); | ||
| خط ۷۷: | خط ۱۰۳: | ||
/* | /* | ||
* پاسخ غلط | * پاسخ غلط | ||
* | |||
* پاسخ صحیح نمایش داده نمیشود. | |||
* کاربر میتواند گزینه دیگری را امتحان کند. | |||
*/ | */ | ||
else { | else { | ||
نسخهٔ ۱۰ سپتامبر ۲۰۲۶، ساعت ۱۲:۵۲
$( function () {
/*
* تبدیل گزینههای لیست به گزینههای قابل کلیک
*/
$( '.wd-test-options' ).each( function () {
var container = $( this );
container.find( 'li' ).each( function () {
$( this ).addClass( 'wd-test-option' );
} );
});
/*
* انتخاب گزینه
*/
$( document ).on( 'click', '.wd-test-option', function () {
var option = $( this );
var box = option.closest( '.wd-test' );
/*
* اگر تست قبلاً با پاسخ صحیح تمام شده،
* دیگر امکان انتخاب وجود ندارد.
*/
if ( box.hasClass( 'wd-test-finished' ) ) {
return;
}
var answer = $.trim( box.attr( 'data-answer' ) );
var selectedText = $.trim( option.text() );
var result = box.find( '.wd-test-result' );
var message = box.find( '.wd-test-result-message' );
var answerBox = box.find( '.wd-test-answer' );
var selectedLetter = '';
/*
* تشخیص گزینه انتخابشده
*/
if ( selectedText.indexOf( 'الف' ) === 0 ) {
selectedLetter = 'الف';
} else if ( selectedText.indexOf( 'ب' ) === 0 ) {
selectedLetter = 'ب';
} else if ( selectedText.indexOf( 'ج' ) === 0 ) {
selectedLetter = 'ج';
} else if ( selectedText.indexOf( 'د' ) === 0 ) {
selectedLetter = 'د';
}
/*
* تبدیل «گزینه ب» به «ب»
*/
var correctLetter = answer
.replace( 'گزینه', '' )
.replace( ':', '' )
.trim();
/*
* نمایش انتخاب کاربر
*/
option.addClass( 'wd-selected' );
result.show();
/*
* پاسخ صحیح
*/
if ( selectedLetter === correctLetter ) {
option.addClass( 'wd-correct' );
message
.removeClass( 'wd-result-wrong' )
.addClass( 'wd-result-correct' )
.text( '✓ پاسخ شما صحیح است.' );
answerBox
.stop( true, true )
.slideDown( 250 );
box.addClass( 'wd-test-finished' );
}
/*
* پاسخ غلط
*
* پاسخ صحیح نمایش داده نمیشود.
* کاربر میتواند گزینه دیگری را امتحان کند.
*/
else {
option.addClass( 'wd-wrong' );
message
.removeClass( 'wd-result-correct' )
.addClass( 'wd-result-wrong' )
.text( '✕ پاسخ شما نادرست است.' );
}
});
});