Offcanvas Component এর Events এবং Animation

Web Development - বুটস্ট্রাপ (Bootstrap 5) - Bootstrap 5 এর Offcanvas এবং Toasts |

Offcanvas কম্পোনেন্ট বুটস্ট্র্যাপ ৫ এর একটি চমৎকার ফিচার যা সাইড প্যানেল বা মেনু তৈরি করতে ব্যবহৃত হয়। এটি ব্যবহারকারীর স্ক্রীনে বাইরে থেকে স্লাইড করে আসতে পারে এবং অ্যানিমেশন সহ সঠিকভাবে প্রদর্শিত হয়। Offcanvas কম্পোনেন্ট ব্যবহার করে আপনি সাইড বার বা ড্রপডাউন মেনু তৈরি করতে পারেন যা এক্সপ্যান্ড এবং কোলাপস করতে পারে।

এটি মোবাইল ডিভাইসে বিশেষভাবে কার্যকর, কারণ ছোট স্ক্রীনে এটি পেজে অতিরিক্ত এলিমেন্ট রাখার পরিবর্তে স্লাইড-ইন মেনু হিসেবে কাজ করতে পারে।


Offcanvas Events

বুটস্ট্র্যাপ ৫ এর Offcanvas কম্পোনেন্ট কিছু নির্দিষ্ট ইভেন্ট সরবরাহ করে যেগুলি ব্যবহারকারীর জন্য কার্যকরী হতে পারে। এগুলোর মাধ্যমে আপনি কম্পোনেন্টের বিভিন্ন ধাপে কাস্টম আচরণ নির্ধারণ করতে পারবেন।

প্রধান Offcanvas Events:

  1. show.bs.offcanvas
    এই ইভেন্টটি তখন ট্রিগার হয় যখন offcanvas প্যানেলটি প্রদর্শিত হতে শুরু করে।

    var offcanvasElement = document.getElementById('offcanvasExample');
    offcanvasElement.addEventListener('show.bs.offcanvas', function () {
      console.log('Offcanvas is about to be shown.');
    });
    
  2. shown.bs.offcanvas
    এই ইভেন্টটি তখন ট্রিগার হয় যখন offcanvas প্যানেলটি সম্পূর্ণভাবে প্রদর্শিত হয়।

    var offcanvasElement = document.getElementById('offcanvasExample');
    offcanvasElement.addEventListener('shown.bs.offcanvas', function () {
      console.log('Offcanvas is fully shown.');
    });
    
  3. hide.bs.offcanvas
    এই ইভেন্টটি তখন ট্রিগার হয় যখন offcanvas প্যানেলটি লুকানোর প্রক্রিয়া শুরু হয়।

    var offcanvasElement = document.getElementById('offcanvasExample');
    offcanvasElement.addEventListener('hide.bs.offcanvas', function () {
      console.log('Offcanvas is about to be hidden.');
    });
    
  4. hidden.bs.offcanvas
    এই ইভেন্টটি তখন ট্রিগার হয় যখন offcanvas প্যানেলটি সম্পূর্ণভাবে লুকিয়ে যায়।

    var offcanvasElement = document.getElementById('offcanvasExample');
    offcanvasElement.addEventListener('hidden.bs.offcanvas', function () {
      console.log('Offcanvas is fully hidden.');
    });
    

Offcanvas ইভেন্ট ব্যবহারের উদাহরণ:

<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasExample" aria-controls="offcanvasExample">
  Open Offcanvas
</button>

<div class="offcanvas offcanvas-start" tabindex="-1" id="offcanvasExample" aria-labelledby="offcanvasExampleLabel">
  <div class="offcanvas-header">
    <h5 class="offcanvas-title" id="offcanvasExampleLabel">Offcanvas Title</h5>
    <button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button>
  </div>
  <div class="offcanvas-body">
    <p>This is an offcanvas element. You can add any content here.</p>
  </div>
</div>

<script>
  var offcanvasElement = document.getElementById('offcanvasExample');
  offcanvasElement.addEventListener('show.bs.offcanvas', function () {
    console.log('Offcanvas is about to be shown.');
  });

  offcanvasElement.addEventListener('shown.bs.offcanvas', function () {
    console.log('Offcanvas is fully shown.');
  });

  offcanvasElement.addEventListener('hide.bs.offcanvas', function () {
    console.log('Offcanvas is about to be hidden.');
  });

  offcanvasElement.addEventListener('hidden.bs.offcanvas', function () {
    console.log('Offcanvas is fully hidden.');
  });
</script>

Offcanvas Animation

Offcanvas প্যানেলটি একটি স্লাইড-ইন/আউট অ্যানিমেশন দিয়ে প্রদর্শিত হয়, যা অত্যন্ত ইউজার ফ্রেন্ডলি। এই অ্যানিমেশনটি বুটস্ট্র্যাপের ডিফল্ট ব্যবহারকারীর অভিজ্ঞতার অংশ এবং সহজেই কাস্টমাইজ করা যায়।

Default Animation:

বুটস্ট্র্যাপের offcanvas কম্পোনেন্টের জন্য কিছু ডিফল্ট অ্যানিমেশন রয়েছে, যা প্যানেলটি স্ক্রীনের বাইরে থেকে স্লাইড করে আসে এবং বের হয়ে যায়। এই অ্যানিমেশনগুলি সিএসএস transition প্রপার্টি ব্যবহার করে অর্জিত হয়।

  • offcanvas-start: এটি প্যানেলটিকে স্ক্রীনের বাম থেকে স্লাইড করে আনে।
  • offcanvas-end: এটি প্যানেলটিকে স্ক্রীনের ডান থেকে স্লাইড করে আনে।
  • offcanvas-top: এটি প্যানেলটিকে স্ক্রীনের উপরের দিক থেকে স্লাইড করে আনে।
  • offcanvas-bottom: এটি প্যানেলটিকে স্ক্রীনের নিচ থেকে স্লাইড করে আনে।

Offcanvas Custom Animation:

আপনি চাইলে CSS দিয়ে কাস্টম অ্যানিমেশন যোগ করতে পারেন।

<style>
  .offcanvas-start {
    transition: transform 0.5s ease-in-out;
  }

  .offcanvas-start.show {
    transform: translateX(0);
  }

  .offcanvas-start:not(.show) {
    transform: translateX(-100%);
  }
</style>

<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasExample" aria-controls="offcanvasExample">
  Open Offcanvas
</button>

<div class="offcanvas offcanvas-start" tabindex="-1" id="offcanvasExample" aria-labelledby="offcanvasExampleLabel">
  <div class="offcanvas-header">
    <h5 class="offcanvas-title" id="offcanvasExampleLabel">Offcanvas Title</h5>
    <button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button>
  </div>
  <div class="offcanvas-body">
    <p>This is an offcanvas element with custom animation.</p>
  </div>
</div>

এখানে, transition প্রপার্টি ব্যবহার করা হয়েছে যা অ্যানিমেশনকে আরও স্মুথ এবং কাস্টমাইজযোগ্য করে।


সারাংশ

  • Offcanvas কম্পোনেন্টটি বুটস্ট্র্যাপে একটি সুন্দর এবং কার্যকরী স্লাইড-ইন প্যানেল তৈরি করতে ব্যবহৃত হয়। এটি মোবাইল এবং ডেস্কটপ উভয় পেজের জন্য উপযুক্ত।
  • Events এর মাধ্যমে আপনি offcanvas কম্পোনেন্টের বিভিন্ন স্টেট যেমন শো, হাইড ইভেন্ট ট্র্যাক করতে পারবেন।
  • Animation এর মাধ্যমে offcanvas প্যানেলকে স্লাইড-ইন এবং স্লাইড-আউট অ্যানিমেশন দিতে পারবেন, যা ইন্টারঅ্যাকটিভ ইউজার এক্সপিরিয়েন্স তৈরিতে সহায়ক।
Content added By
Promotion