آموزش رایگان جاوا اسکریپت (JavaScript)

آموزش ساخت یک گالری تصویر با استفاده از جاوا اسکریپت: راهنمای گام به گام

1403/08/03 16:57 محراب حسن زاده
آموزش ساخت یک گالری تصویر با استفاده از جاوا اسکریپت: راهنمای گام به گام

ایجاد یک گالری تصویر تعاملی یکی از بهترین روش‌ها برای نمایش محتوای تصویری در وب‌سایت‌ها است. با استفاده از جاوا اسکریپت و DOM می‌توانید گالری‌های تصویر پویا و کاربرپسندی بسازید. در این مقاله، نحوه ساخت یک گالری تصویر ساده و تعاملی با استفاده از جاوا اسکریپت را گام به گام بررسی می‌کنیم و همچنین نکات مرتبط با سئو و بهینه‌سازی وب‌سایت را مرور می‌کنیم.

اهداف این مقاله:

  • ساخت گالری تصاویر با جاوا اسکریپت و DOM

  • نمایش تصاویر به صورت پویا با قابلیت کلیک برای مشاهده بزرگ‌تر

  • بهینه‌سازی تجربه کاربری و سئو برای بهبود عملکرد


گام اول: ساختار HTML اولیه

ابتدا یک فایل HTML ساده ایجاد می‌کنیم که شامل ساختار گالری و مکانی برای نمایش تصویر بزرگ‌تر باشد.



< ! DOCTYPE html >
< html lang="fa" >
< head >
    < meta charset="UTF-8" >
    < meta name="viewport" content="width=device-width, initial-scale=1.0" >
    < title > گالری تصویر < / title >
    < style >
        body {
            font-family: Arial, sans-serif;
            background-color: #f4f4f4;
            margin: 0;
            padding: 20px;
        }
        .gallery {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
        }
        .gallery img {
            width: 150px;
            height: 100px;
            cursor: pointer;
            border-radius: 5px;
            transition: transform 0.3s ease;
        }
        .gallery img:hover {
            transform: scale(1.05);
        }
        #large-image-container {
            margin-top: 20px;
            text-align: center;
        }
        #large-image {
            max-width: 100%;
            max-height: 400px;
            border-radius: 10px;
        }
    < / style >
< / head >
< body >
    < h1 > گالری تصاویر < / h1 >
    < div class="gallery" id="gallery" >
        
    < / div >

    < div id="large-image-container" >
        < img id="large-image" src="" alt="تصویر بزرگ" style="display: none;" >
    < / div >

    < script src="app.js" > < / script >
< / body >
< / html >


توضیحات HTML:

  • یک بخش با کلاس gallery داریم که تصاویر کوچک (Thumbnail) در آن قرار خواهند گرفت.

  • یک بخش دیگر برای نمایش تصویر بزرگ‌تر وجود دارد که در حالت اولیه خالی است و وقتی کاربر روی یکی از تصاویر کوچک کلیک کند، تصویر بزرگ در آن نمایش داده می‌شود.


گام دوم: نوشتن کد جاوااسکریپت

برای افزودن تصاویر کوچک به گالری و فعال کردن قابلیت نمایش تصویر بزرگ‌تر، از جاوا اسکریپت استفاده می‌کنیم. فایل app.js را ایجاد کنید و کد زیر را در آن قرار دهید:


گالری
const images = [
    { small: 'images/image1-small.jpg', large: 'images/image1-large.jpg' },
    { small: 'images/image2-small.jpg', large: 'images/image2-large.jpg' },
    { small: 'images/image3-small.jpg', large: 'images/image3-large.jpg' },
    { small: 'images/image4-small.jpg', large: 'images/image4-large.jpg' }
];

// دسترسی به عناصر صفحه
const gallery = document.getElementById('gallery');
const largeImage = document.getElementById('large-image');

// افزودن تصاویر کوچک به گالری
images.forEach(image => {
    const imgElement = document.createElement('img');
    imgElement.src = image.small;
    imgElement.alt = 'Thumbnail';
    imgElement.addEventListener('click', () => {
        showLargeImage(image.large);
    });
    gallery.appendChild(imgElement);
});

// نمایش تصویر بزرگ
function showLargeImage(imageSrc) {
    largeImage.src = imageSrc;
    largeImage.style.display = 'block';
}


توضیحات کد:

  • آرایه images: شامل لیستی از تصاویر کوچک و بزرگ است که برای نمایش در گالری استفاده می‌شوند. در اینجا فرض می‌کنیم تصاویر کوچک و بزرگ در فولدر images قرار دارند.

  • اضافه کردن تصاویر کوچک: برای هر تصویر در آرایه، یک عنصر جدید ایجاد می‌شود و به بخش گالری اضافه می‌گردد. این تصویر‌ها دارای رویداد کلیک هستند که هنگام کلیک، تصویر بزرگ مرتبط را نمایش می‌دهد.

  • نمایش تصویر بزرگ: تابع showLargeImage تصویر بزرگ را به بخش large-image اضافه می‌کند و آن را نمایش می‌دهد.


گام سوم: افزودن انیمیشن و بهبود تجربه کاربری

برای بهبود تجربه کاربری، می‌توانیم چندین تغییر کوچک انجام دهیم. مثلا می‌توانیم تصویر بزرگ را به آرامی نمایش دهیم و وقتی تصویر تغییر می‌کند، انیمیشنی برای تغییر آن اجرا کنیم.

برای این کار، استایل‌های زیر را به CSS اضافه کنید:



#large-image {
    opacity: 0;
    transition: opacity 0.5s ease;
}
#large-image.show {
    opacity: 1;
}


سپس تابع جاوااسکریپت را به‌روزرسانی کنید تا از این کلاس‌ها استفاده کند:



function showLargeImage(imageSrc) {
    largeImage.style.opacity = 0; // ابتدا تصویر قبلی محو شود
    setTimeout(() => {
        largeImage.src = imageSrc;
        largeImage.style.display = 'block';
        largeImage.classList.add('show'); // تصویر جدید نمایش داده شود
    }, 500); // بعد از محو شدن تصویر قبلی
}


گام چهارم: نکات بهینه‌سازی و سئو

Lazy Loading تصاویر: از ویژگی loading="lazy" در تصاویر کوچک و بزرگ استفاده کنید تا تصاویر تنها زمانی بارگذاری شوند که به آن‌ها نیاز است. این کار باعث بهبود سرعت بارگذاری صفحه می‌شود.


< img src="images/image1-small.jpg" loading="lazy" alt="Thumbnail" >

استفاده از متن جایگزین (Alt Text): حتماً برای هر تصویر متن جایگزین (alt) مناسب تعیین کنید. این کار علاوه بر کمک به دسترسی‌پذیری، به بهبود سئوی تصاویر نیز کمک می‌کند.

بهینه‌سازی اندازه تصاویر: تصاویر کوچک و بزرگ باید بهینه شده باشند تا حجم فایل‌ها کم باشد و زمان بارگذاری سریع‌تر شود. استفاده از فرمت‌های مدرن‌تر مانند WebP می‌تواند به بهبود سرعت کمک کند.

کاهش دستکاری‌های DOM: دستکاری‌های مستقیم DOM می‌تواند روی عملکرد صفحه تأثیر منفی بگذارد. بهتر است تغییرات DOM را بهینه کنید و تا حد امکان تعداد دسترسی‌ها به آن را کاهش دهید.

استفاده از CDN: اگر تصاویر زیادی دارید، می‌توانید از یک CDN برای بارگذاری تصاویر استفاده کنید. این کار سرعت بارگذاری تصاویر را بهبود می‌بخشد.


نتیجه‌گیری

ساخت یک گالری تصویر با استفاده از جاوااسکریپت به شما این امکان را می‌دهد که تصاویر را به صورت پویا و تعاملی در صفحات وب نمایش دهید. با استفاده از تکنیک‌های بهینه‌سازی مانند Lazy Loading، بهینه‌سازی تصاویر و استفاده از متن جایگزین مناسب، می‌توانید عملکرد وب‌سایت را بهبود دهید و تجربه کاربری بهتری ارائه دهید. همچنین این نکات به بهبود رتبه‌بندی سایت شما در موتورهای جستجو مانند گوگل کمک می‌کنند.

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

تفاوت Session و Cookie در PHP؛ راهنمای جامع و کاربردی طبق استاندارد گوگل
1405/05/01 20:14

تفاوت Session و Cookie در PHP؛ راهنمای جامع و کاربردی طبق استاندارد گوگل

مطالعه بیشتر
آموزش Prepared Statement در PHP: امن‌سازی دیتابیس در برابر SQL Injection
1405/05/13 21:17

آموزش Prepared Statement در PHP: امن‌سازی دیتابیس در برابر SQL Injection

مطالعه بیشتر
آموزش تغییر نوع و اندازه فونت و رنگ متن با CSS: استایل‌دهی حرفه‌ای به متن‌ها
1402/06/05 00:13

آموزش تغییر نوع و اندازه فونت و رنگ متن با CSS: استایل‌دهی حرفه‌ای به متن‌ها

مطالعه بیشتر
استفاده از CSS Scoped و استایل‌دهی به کامپوننت‌ها در Vue.js | آموزش کاربردی
1404/09/23 21:27

استفاده از CSS Scoped و استایل‌دهی به کامپوننت‌ها در Vue.js | آموزش کاربردی

مطالعه بیشتر
آموزش جامع دستور SELECT و نمایش اطلاعات دیتابیس طبق استانداردهای گوگل و سئو
1405/05/13 21:07

آموزش جامع دستور SELECT و نمایش اطلاعات دیتابیس طبق استانداردهای گوگل و سئو

مطالعه بیشتر
آموزش کامل ویژگی background در CSS: تنظیمات پس‌زمینه برای طراحی وب راهنمای جامع
1402/06/05 23:51

آموزش کامل ویژگی background در CSS: تنظیمات پس‌زمینه برای طراحی وب راهنمای جامع

مطالعه بیشتر
استفاده از overflow در CSS برای مدیریت محتوای اضافی: راهنمای کامل و کاربردی
1403/08/11 21:37

استفاده از overflow در CSS برای مدیریت محتوای اضافی: راهنمای کامل و کاربردی

مطالعه بیشتر
کاربرد تگ‌های meta، title و keywords در سئو: راهنمای جامع بهینه‌سازی وب‌سایت
1402/05/25 00:16

کاربرد تگ‌های meta، title و keywords در سئو: راهنمای جامع بهینه‌سازی وب‌سایت

مطالعه بیشتر
معرفی DOM و اصول آن در جاوا اسکریپت: راهنمای جامع برای مبتدیان
1403/08/01 20:30

معرفی DOM و اصول آن در جاوا اسکریپت: راهنمای جامع برای مبتدیان

مطالعه بیشتر
راهنمای جامع نصب و پیکربندی محیط توسعه محلی (XAMPP، WAMP و Laragon)
1405/03/14 23:52

راهنمای جامع نصب و پیکربندی محیط توسعه محلی (XAMPP، WAMP و Laragon)

مطالعه بیشتر
آموزش ساخت یک Todo List با استفاده از DOM و جاوا اسکریپت: راهنمای گام به گام
1403/08/03 16:30

آموزش ساخت یک Todo List با استفاده از DOM و جاوا اسکریپت: راهنمای گام به گام

مطالعه بیشتر
استفاده از visibility و opacity در CSS برای مخفی‌سازی عناصر: راهنمای کامل و کاربردی
1403/08/11 20:31

استفاده از visibility و opacity در CSS برای مخفی‌سازی عناصر: راهنمای کامل و کاربردی

مطالعه بیشتر

تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد