شرح مادة الدراسات الصف الثالث الإعدادي






دراسات الصف الثالث الإعدادي


جاري تحميل الدروس…

const blogUrl = "https://www.egquiz.com"; const label = "دراسات 3 إعدادي"; const resultsPerPage = 8; const maxPostsToFetch = 500;

const gridContainer = document.querySelector(".cases-grid"); const loadMoreBtn = document.getElementById("loadMoreBtn"); const loadMoreContainer = document.querySelector(".load-more-container"); const searchInput = document.getElementById("searchInput");

let allCases = []; let displayedCount = 0;

// 1. دالة لإنشاء البطاقة (تم التعديل بإضافة حماية) function createCaseCard(post) { try { // ✨ إضافة حماية const postTitle = post.title.$t; // العنوان الأصلي كاحتياطي let postUrl = '#'; if (post.link) { for (let i = 0; i < post.link.length; i++) { if (post.link[i].rel === 'alternate') { postUrl = post.link[i].href; break; } } } const contentHtml = post.content ? post.content.$t : ''; const tempDiv = document.createElement('div'); tempDiv.innerHTML = contentHtml; // --- ✨ هذا هو التعديل المطلوب --- // 1. ابحث عن عنصر H1 داخل المحتوى const h1Element = tempDiv.querySelector('h1'); // 2. استخدم نص H1 إذا وجد، وإلا استخدم عنوان المنشور الأصلي كبديل const displayTitle = h1Element ? h1Element.textContent.trim() : postTitle; // --- نهاية التعديل --- const descriptionElement = tempDiv.querySelector('article.leasonx-container p'); const description = descriptionElement ? descriptionElement.textContent : "لا يتوفر وصف..."; post.searchableDescription = description.toLowerCase(); const publishedDate = new Date(post.published.$t); const formattedDate = new Intl.DateTimeFormat('ar-EG', { day: 'numeric', month: 'long', year: 'numeric' }).format(publishedDate); const caseCard = document.createElement('article'); caseCard.className = 'case-card'; caseCard.innerHTML = `

${displayTitle}

${description}

`; return caseCard;

} catch (error) { console.error("Error creating card for post:", post.title.$t, error); return null; // ✨ إرجاع null إذا فشلت هذه البطاقة } }

// 2. دالة لعرض مجموعة من القضايا (تم تعديلها للتحقق من null) function displayCases(cases) { cases.forEach(caseData => { const card = createCaseCard(caseData); if (card) { // ✨ فقط أضف البطاقة إذا تم إنشاؤها بنجاح gridContainer.appendChild(card); } }); }

// 3. دالة "عرض المزيد" (بدون تغيير) function loadMoreCases() { const remainingCases = allCases.slice(displayedCount, displayedCount + resultsPerPage); displayCases(remainingCases); displayedCount += remainingCases.length;

if (displayedCount >= allCases.length) { loadMoreContainer.style.display = 'none'; } }

// 4. وظيفة البحث (بدون تغيير) searchInput.addEventListener('input', function() { const searchTerm = this.value.toLowerCase().trim();

if (searchTerm === "") { gridContainer.innerHTML = ''; displayedCount = 0; loadMoreCases(); if (allCases.length > displayedCount) { loadMoreContainer.style.display = 'block'; } return; }

const filteredCases = allCases.filter(caseData => { const title = caseData.title.$t.toLowerCase(); const description = caseData.searchableDescription || ""; return title.includes(searchTerm) || description.includes(searchTerm); });

gridContainer.innerHTML = ''; loadMoreContainer.style.display = 'none';

if (filteredCases.length > 0) { displayCases(filteredCases); } else { gridContainer.innerHTML = '

لم يتم العثور على نتائج.

'; } });

// 5. جلب جميع القضايا عند تحميل الصفحة (بدون تغيير) function fetchAllCases() { const apiUrl = `${blogUrl}/feeds/posts/default/-/${encodeURIComponent(label)}?alt=json-in-script&max-results=${maxPostsToFetch}&callback=processAllCases`;

window.processAllCases = function(data) { allCases = data.feed.entry || [];

allCases.reverse();

gridContainer.innerHTML = '';

if (allCases.length > 0) { loadMoreCases();

if (allCases.length > displayedCount) { loadMoreContainer.style.display = 'block'; }

} else { gridContainer.innerHTML = '

لا توجد قضايا لعرضها حاليًا.

'; loadMoreContainer.style.display = 'none'; } };

const script = document.createElement('script'); script.src = apiUrl; document.body.appendChild(script); script.onload = () => document.body.removeChild(script); }

loadMoreBtn.addEventListener('click', loadMoreCases);

fetchAllCases(); });


تابع جديد الوظائف
Scroll to Top