تست: تفاوت میان نسخهها
ظاهر
بدون خلاصۀ ویرایش |
بدون خلاصۀ ویرایش |
||
خط ۱۷۱: | خط ۱۷۱: | ||
.action-buttons { | .action-buttons { | ||
display: flex; | display: flex; | ||
justify-content: | justify-content: flex-end; | ||
align-items: center; | align-items: center; | ||
padding: 15px; | padding: 15px; | ||
خط ۱۸۸: | خط ۱۸۸: | ||
.wiki-link:hover { | .wiki-link:hover { | ||
background-color: #3e6f73; | background-color: #3e6f73; | ||
color: white; | color: white; | ||
} | } | ||
خط ۲۶۹: | خط ۲۵۵: | ||
</div> | </div> | ||
<div class="action-buttons"> | <div class="action-buttons"> | ||
<a id="wikiLink" href="#" class="wiki-link" target="_blank" style="display: none;"> | <a id="wikiLink" href="#" class="wiki-link" target="_blank" style="display: none;"> | ||
مشاهده صفحه کامل در ویکی | مشاهده صفحه کامل در ویکی | ||
خط ۲۹۴: | خط ۲۷۷: | ||
let isDropdownOpen = false; | let isDropdownOpen = false; | ||
// تابع برای فیلتر کردن کتابها بر اساس دستهبندی | |||
function getFilteredBooksByCategory(category, searchTerm = '') { | |||
const searchLower = searchTerm.toLowerCase(); | |||
return allBooks.filter(book => { | |||
const bookCategory = book.getAttribute('data-category'); | |||
const matchesCategory = bookCategory === category; | |||
const matchesSearch = !searchTerm || book.text.toLowerCase().includes(searchLower); | |||
return matchesCategory && matchesSearch; | |||
}); | |||
} | |||
// پر کردن select اصلی بر اساس دستهبندی | |||
function updateBookSelect() { | |||
const category = categorySelect.value; | |||
const filteredBooks = getFilteredBooksByCategory(category); | |||
// پاک کردن select فعلی (به جز گزینه اول) | |||
while (bookSelect.options.length > 1) { | |||
bookSelect.remove(1); | |||
} | |||
// اضافه کردن کتابهای فیلتر شده | |||
filteredBooks.forEach(book => { | |||
const option = document.createElement('option'); | |||
option.value = book.value; | |||
option.textContent = book.text; | |||
option.setAttribute('data-category', book.getAttribute('data-category')); | |||
bookSelect.appendChild(option); | |||
}); | |||
// اگر کتابی موجود است، اولین کتاب را انتخاب کن | |||
if (filteredBooks.length > 0) { | |||
bookSelect.value = filteredBooks[0].value; | |||
customSelect.textContent = filteredBooks[0].text; | |||
showBook(filteredBooks[0].value, filteredBooks[0].text); | |||
} else { | |||
bookSelect.value = ''; | |||
customSelect.textContent = 'لطفاً یک مورد انتخاب کنید'; | |||
showBook('', ''); | |||
} | |||
} | |||
// باز کردن/بستن dropdown | // باز کردن/بستن dropdown | ||
خط ۳۲۲: | خط ۳۴۸: | ||
function populateDropdownOptions(searchTerm = '') { | function populateDropdownOptions(searchTerm = '') { | ||
const category = categorySelect.value; | const category = categorySelect.value; | ||
const | const filteredBooks = getFilteredBooksByCategory(category, searchTerm); | ||
optionsContainer.innerHTML = ''; | optionsContainer.innerHTML = ''; | ||
filteredBooks.forEach(book => { | filteredBooks.forEach(book => { | ||
خط ۳۷۴: | خط ۳۹۳: | ||
// فیلتر کردن بر اساس دستهبندی | // فیلتر کردن بر اساس دستهبندی | ||
categorySelect.addEventListener('change', function() { | categorySelect.addEventListener('change', function() { | ||
updateBookSelect(); | |||
populateDropdownOptions(); | populateDropdownOptions(); | ||
}); | |||
// تغییر در select اصلی | |||
bookSelect.addEventListener('change', function() { | |||
if (this.selectedIndex > 0) { | |||
const selectedOption = this.options[this.selectedIndex]; | |||
customSelect.textContent = selectedOption.text; | |||
showBook(selectedOption.value, selectedOption.text); | |||
} else { | |||
customSelect.textContent = 'لطفاً یک مورد انتخاب کنید'; | |||
showBook('', ''); | |||
} | |||
}); | }); | ||
خط ۴۲۶: | خط ۴۵۵: | ||
// بارگذاری اولیه | // بارگذاری اولیه | ||
updateBookSelect(); | |||
}); | }); | ||
</script> | </script> | ||
</body> | </body> | ||
</html> | </html> |
نسخهٔ ۱۲ اکتبر ۲۰۲۵، ساعت ۱۹:۱۶
<!DOCTYPE html>
کتابخانه پدیا بایبل
در این بخش میتوانید کتابها و مقالات مختلف را مطالعه کنید.
برای شروع، دستهبندی و سپس مورد مورد نظر خود را انتخاب نمایید.
لطفاً یک کتاب یا مقاله از لیست انتخاب کنید