مدیاویکی:Common.js: تفاوت میان نسخهها
جایگزینی صفحه با '$( document ).on( 'click', '.wd-version-toggle', function () { var button = $( this ); var card = button.closest('.wd-version-history-card'); var text = card.find('.wd-version-text'); var icon = button.find('.wd-version-toggle-icon'); var label = button.find('.wd-version-toggle-label'); if (text.is(':visible')) { text.stop(true,true).slideUp(180); icon.text('+');...' برچسب: جایگزین شد |
بدون خلاصۀ ویرایش |
||
| خط ۱: | خط ۱: | ||
/* ========================================================= | |||
سیستم تستهای تعاملی ویکیداد | |||
========================================================= */ | |||
$( document ).on( | |||
'click', | |||
'.wd-test-options li', | |||
function () { | |||
var option = $( this ); | |||
var test = option.closest( '.wd-test' ); | |||
/* اگر تست قبلاً پاسخ داده شده، کاری نکن */ | |||
if ( test.hasClass( 'wd-test-finished' ) ) { | |||
return; | |||
} | |||
/* گزینه انتخابشده */ | |||
var selectedText = $.trim( option.text() ); | |||
/* پاسخ صحیح */ | |||
var correctAnswer = $.trim( | |||
test.attr( 'data-answer' ) || '' | |||
); | |||
/* حذف حالت انتخاب قبلی */ | |||
test.find( '.wd-test-options li' ) | |||
.removeClass( 'wd-test-selected' ); | |||
/* ثبت انتخاب */ | |||
option.addClass( 'wd-test-selected' ); | |||
/* نمایش نتیجه */ | |||
var result = test.find( '.wd-test-result' ); | |||
var resultMessage = test.find( '.wd-test-result-message' ); | |||
/* پاسخ صحیح یا غلط */ | |||
var isCorrect = false; | |||
/* | |||
* پاسخ قالب معمولاً به شکل: | |||
* الف | |||
* ب | |||
* ج | |||
* د | |||
* | |||
* بنابراین ابتدا حرف گزینه را استخراج میکنیم. | |||
*/ | |||
var selectedLetter = selectedText | |||
.replace( /^[\s]*([الفبجد])[\s\)\.:\-ـ]*/i, '$1' ); | |||
if ( selectedLetter === selectedText ) { | |||
selectedLetter = selectedText.charAt( 0 ); | |||
} | |||
var answerLetter = correctAnswer | |||
.replace( /^[\s]*([الفبجد])[\s\)\.:\-ـ]*/i, '$1' ); | |||
if ( answerLetter === correctAnswer ) { | |||
answerLetter = correctAnswer.charAt( 0 ); | |||
} | |||
isCorrect = | |||
$.trim( selectedLetter ) === | |||
$.trim( answerLetter ); | |||
/* نمایش نتیجه */ | |||
result.show(); | |||
if ( isCorrect ) { | |||
resultMessage | |||
.text( '✓ پاسخ شما صحیح است.' ) | |||
.css({ | |||
color: '#168477' | |||
}); | |||
option.addClass( 'wd-test-correct' ); | |||
} else { | |||
resultMessage | |||
.text( '✕ پاسخ شما نادرست است.' ) | |||
.css({ | |||
color: '#b44a4a' | |||
}); | |||
option.addClass( 'wd-test-wrong' ); | |||
/* | |||
* مشخص کردن گزینه صحیح | |||
*/ | |||
test.find( '.wd-test-options li' ).each( | |||
function () { | |||
var item = $( this ); | |||
var itemText = $.trim( item.text() ); | |||
var itemLetter = itemText | |||
.replace( | |||
/^[\s]*([الفبجد])[\s\)\.:\-ـ]*/i, | |||
'$1' | |||
); | |||
if ( itemLetter === itemText ) { | |||
itemLetter = itemText.charAt( 0 ); | |||
} | |||
if ( | |||
$.trim( itemLetter ) === | |||
$.trim( answerLetter ) | |||
) { | |||
item.addClass( 'wd-test-correct' ); | |||
} | |||
} | |||
); | |||
} | |||
/* نمایش پاسخ و تحلیل */ | |||
test.find( '.wd-test-answer' ) | |||
.stop( true, true ) | |||
.slideDown( 220 ); | |||
/* جلوگیری از انتخاب مجدد */ | |||
test.addClass( 'wd-test-finished' ); | |||
} | |||
); | |||
/* ========================================================= | |||
مشاهده / بستن متن نسخه قانون | |||
========================================================= */ | |||
$( document ).on( | $( document ).on( | ||
'click', | 'click', | ||
'.wd-version-toggle', | '.wd-version-toggle', | ||
function () { | function () { | ||
var button = $( this ); | var button = $( this ); | ||
if (text.is(':visible')) { | var card = button.closest( | ||
text.stop(true,true).slideUp(180); | '.wd-version-history-card' | ||
icon.text('+'); | ); | ||
label.text('مشاهده متن'); | |||
var text = card.find( | |||
'.wd-version-text' | |||
); | |||
var icon = button.find( | |||
'.wd-version-toggle-icon' | |||
); | |||
var label = button.find( | |||
'.wd-version-toggle-label' | |||
); | |||
if ( text.is( ':visible' ) ) { | |||
text.stop( true, true ) | |||
.slideUp( 180 ); | |||
icon.text( '+' ); | |||
label.text( 'مشاهده متن' ); | |||
} else { | } else { | ||
text.stop(true,true).slideDown(220); | |||
icon.text('−'); | text.stop( true, true ) | ||
label.text('بستن متن'); | .slideDown( 220 ); | ||
icon.text( '−' ); | |||
label.text( 'بستن متن' ); | |||
} | } | ||
} | } | ||
); | ); | ||
نسخهٔ ۱۴ سپتامبر ۲۰۲۶، ساعت ۱۳:۱۱
/* =========================================================
سیستم تستهای تعاملی ویکیداد
========================================================= */
$( document ).on(
'click',
'.wd-test-options li',
function () {
var option = $( this );
var test = option.closest( '.wd-test' );
/* اگر تست قبلاً پاسخ داده شده، کاری نکن */
if ( test.hasClass( 'wd-test-finished' ) ) {
return;
}
/* گزینه انتخابشده */
var selectedText = $.trim( option.text() );
/* پاسخ صحیح */
var correctAnswer = $.trim(
test.attr( 'data-answer' ) || ''
);
/* حذف حالت انتخاب قبلی */
test.find( '.wd-test-options li' )
.removeClass( 'wd-test-selected' );
/* ثبت انتخاب */
option.addClass( 'wd-test-selected' );
/* نمایش نتیجه */
var result = test.find( '.wd-test-result' );
var resultMessage = test.find( '.wd-test-result-message' );
/* پاسخ صحیح یا غلط */
var isCorrect = false;
/*
* پاسخ قالب معمولاً به شکل:
* الف
* ب
* ج
* د
*
* بنابراین ابتدا حرف گزینه را استخراج میکنیم.
*/
var selectedLetter = selectedText
.replace( /^[\s]*([الفبجد])[\s\)\.:\-ـ]*/i, '$1' );
if ( selectedLetter === selectedText ) {
selectedLetter = selectedText.charAt( 0 );
}
var answerLetter = correctAnswer
.replace( /^[\s]*([الفبجد])[\s\)\.:\-ـ]*/i, '$1' );
if ( answerLetter === correctAnswer ) {
answerLetter = correctAnswer.charAt( 0 );
}
isCorrect =
$.trim( selectedLetter ) ===
$.trim( answerLetter );
/* نمایش نتیجه */
result.show();
if ( isCorrect ) {
resultMessage
.text( '✓ پاسخ شما صحیح است.' )
.css({
color: '#168477'
});
option.addClass( 'wd-test-correct' );
} else {
resultMessage
.text( '✕ پاسخ شما نادرست است.' )
.css({
color: '#b44a4a'
});
option.addClass( 'wd-test-wrong' );
/*
* مشخص کردن گزینه صحیح
*/
test.find( '.wd-test-options li' ).each(
function () {
var item = $( this );
var itemText = $.trim( item.text() );
var itemLetter = itemText
.replace(
/^[\s]*([الفبجد])[\s\)\.:\-ـ]*/i,
'$1'
);
if ( itemLetter === itemText ) {
itemLetter = itemText.charAt( 0 );
}
if (
$.trim( itemLetter ) ===
$.trim( answerLetter )
) {
item.addClass( 'wd-test-correct' );
}
}
);
}
/* نمایش پاسخ و تحلیل */
test.find( '.wd-test-answer' )
.stop( true, true )
.slideDown( 220 );
/* جلوگیری از انتخاب مجدد */
test.addClass( 'wd-test-finished' );
}
);
/* =========================================================
مشاهده / بستن متن نسخه قانون
========================================================= */
$( document ).on(
'click',
'.wd-version-toggle',
function () {
var button = $( this );
var card = button.closest(
'.wd-version-history-card'
);
var text = card.find(
'.wd-version-text'
);
var icon = button.find(
'.wd-version-toggle-icon'
);
var label = button.find(
'.wd-version-toggle-label'
);
if ( text.is( ':visible' ) ) {
text.stop( true, true )
.slideUp( 180 );
icon.text( '+' );
label.text( 'مشاهده متن' );
} else {
text.stop( true, true )
.slideDown( 220 );
icon.text( '−' );
label.text( 'بستن متن' );
}
}
);