ভূমিকা
ওয়েবসাইট এবং ওয়েব অ্যাপ্লিকেশন বিকাশ করার সময়, একটি লোডিং অ্যানিমেশন সহ যা ঘটছে তা যোগাযোগ করে ব্যবহারকারীর অভিজ্ঞতাকে উল্লেখযোগ্যভাবে উন্নত করতে পারে। এটি ব্যবহারকারীদের জড়িত করে এবং বিষয়বস্তু লোড করার সময় তাদের মনোযোগ ধরে রাখে এবং এটি ব্যবহারকারীদের অনুমান করার পরিবর্তে কী ঘটছে তা বুঝতে সহায়তা করে।
এই নির্দেশিকায়, আমরা দেখব কিভাবে ভ্যানিলা জাভাস্ক্রিপ্ট ব্যবহার করে লোডিং অ্যানিমেশন তৈরি করতে হয়। আমরা উভয় অ্যানিমেটেড নিয়ে কাজ করব GIF গুলি এবং CSS-তৈরি করা লোডার এবং দেখুন কিভাবে সেগুলো দুটি পরিস্থিতিতে ব্যবহার করতে হয়: অ্যাপ/ওয়েবসাইট লঞ্চের সময় সামগ্রী লোড করা বা একটি বহিরাগত API থেকে সামগ্রীর অনুরোধ করা।
কিভাবে একটি লোডার তৈরি করবেন
লোকেরা তাদের লোডার প্রদর্শন করতে চাইতে পারে এমন বিভিন্ন উপায় রয়েছে। এই নির্দেশিকাটির উদ্দেশ্যে, আমরা একটি লোডার তৈরি করব যা পুরো স্ক্রীনকে কভার করবে এবং তারপর পৃষ্ঠাটি লোড করা শেষ হলে অদৃশ্য হয়ে যাবে। প্রথমত, আমাদের একটি স্থানধারক HTML পৃষ্ঠা তৈরি করতে হবে:
<div class="loader-container"> <div class="spinner"></div>
</div> <div class="main-content"> <h1>Hello World!</h1> <p> This is a demo Project to show how to add animated loading with Vanilla JavaScript. </p> <div class="buttons"> <button class="btn"><a href="#">Read Article</a></button> <button class="btn get-quote">Generate Quote</button> </div> <div class="quote-section"> <blockquote class="quote"> If you do not express your own original ideas, if you do not listen to your own being, you will have betrayed yourself. </blockquote> <span class="author">- Rollo May</span> </div>
</div>
সরলতার খাতিরে, আমাদের কাছে মাত্র দুটি <div>
ব্লক - একটি লোডারের জন্য এবং একটি ওয়েবসাইটের সামগ্রীর জন্য৷
পূর্বে বলা হয়েছে, লোডিং আইকন হতে পারে a জিআইএফ, CSS বা অন্য কিছু দিয়ে তৈরি একটি অ্যানিমেটেড আইকন। মনে রাখা গুরুত্বপূর্ণ বিষয় হল যে একই পদ্ধতি আমরা ব্যবহার করি এমন যেকোনো ধরনের লোডিং আইকনের ক্ষেত্রে প্রযোজ্য।
একটি GIF ব্যবহার করে লোডার তৈরি করুন
A জিআইএফ একটি অ্যানিমেটেড আইকন যা অনির্দিষ্টকালের জন্য বাজায়। একদা আমরা আমাদের তৈরি করেছি জিআইএফ, আমরা শৈলী করব loader-container
div যে এটা হাউস হবে. এটা শৈলী অনেক উপায় আছে! আপনি এখানে সত্যিই সৃজনশীল পেতে পারেন. লোডিং বিষয়বস্তুকে "ব্লক আউট" করতে আমরা আইকনের পাশাপাশি আমাদের পৃষ্ঠার উপরে একটি কালো পটভূমি সহ একটি স্তর যোগ করব:
.loader-container { width: 100%; height: 100vh; position: fixed; background: #000 url("https://media.giphy.com/media/8agqybiK5LW8qrG3vJ/giphy.gif") center no-repeat; z-index: 1;
}
যখন আমরা এখন আমাদের ওয়েব পেজ লোড করব, আমরা একটি কালো ব্যাকগ্রাউন্ড দেখতে পাব জিআইএফ স্ক্রিনের মাঝখানে লোড হচ্ছে, এর মতো:
এই মুহুর্তে, আমরা জাভাস্ক্রিপ্ট ব্যবহার করে লোডিং বাস্তবায়ন করতে প্রস্তুত। তবে আসুন আমরা কীভাবে a এর পরিবর্তে CSS-তৈরি অ্যানিমেশন ব্যবহার করতে পারি তাও দেখি জিআইএফ, যা আমদানি করতে একটি অতিরিক্ত ফাইলের প্রয়োজন হয় না।
CSS ব্যবহার করে লোডার তৈরি করুন
আমরা সিএসএস দিয়ে ঠিক একই আইকন তৈরি করব। মনে রাখবেন, আমরা একটি অতিরিক্ত ডিভ তৈরি করেছি (spinner
) ভিতরে loader-container
div এবং এটিই আমরা আইকনটি উপস্থাপন করতে ব্যবহার করব:
.spinner { width: 64px; height: 64px; border: 8px solid; border-color: #3d5af1 transparent #3d5af1 transparent; border-radius: 50%; animation: spin-anim 1.2s linear infinite;
} @keyframes spin-anim { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); }
}
উপরের কোডটি আমাদের একটি CSS লোডার-আইকন তৈরি করতে সাহায্য করবে যার আমরা এখন কেন্দ্রে লোডার-কন্টেইনার ডিভি ব্যবহার করতে পারি এবং কালো ব্যাকগ্রাউন্ড যোগ করতে পারি যেমন আমরা আগে করেছি:
.loader-container { width: 100%; height: 100vh; display: flex; justify-content: center; align-items: center; position: fixed; background: #000; z-index: 1;
}
এখন আমরা দুটি ধরণের অ্যানিমেটেড লোডার উপলব্ধ দেখেছি, এই লোডিং অ্যানিমেশন কখন প্রদর্শিত হবে এবং অদৃশ্য হয়ে যাবে তা নিয়ন্ত্রণ করতে জাভাস্ক্রিপ্ট ব্যবহার করা যাক।
বিঃদ্রঃ: আপনি এই লাইভ চেক আউট করতে পারেন কোডপেন ডেমো আমরা যে লোডার তৈরি করেছি তা একবার দেখতে।
কিভাবে জাভাস্ক্রিপ্ট দিয়ে একটি লোডিং অ্যানিমেশন বাস্তবায়ন করবেন
জাভাস্ক্রিপ্ট আমাদের এইচটিএমএল স্ট্রাকচার ম্যানিপুলেট করতে এবং অপসারণ বা লুকানোর অনুমতি দেয় loader-container
যে বর্তমানে প্রদর্শিত হয় সামনে ওয়েবসাইটের বিষয়বস্তু। এটি সম্পন্ন করার জন্য দুটি প্রধান পন্থা রয়েছে - শুধু লুকিয়ে রাখা loader-container
, অথবা সম্পূর্ণরূপে অপসারণ.
আপনি যে পদ্ধতিটি চয়ন করুন না কেন, প্রথম পদক্ষেপটি ব্যবহার করা querySelector()
or getElementById()
পুনরুদ্ধার করতে loader-container
যাতে আমরা এটি পরিচালনা করতে পারি:
const loaderContainer = document.querySelector('.loader-container');
দ্বিতীয়ত, আমরা ব্যবহার করা হবে eventListener
একটি জন্য শোনার জন্য load
ঘটনা, যাতে এটি কলব্যাক ফাংশন কল করে যখন load
ঘটনা ঘটে:
window.addEventListener('load', () => { // ...
});
লোড হচ্ছে... উপাদান লুকানো হচ্ছে
সবচেয়ে সাধারণ পদ্ধতি হল লুকানো loader-container
সঙ্গে display: none
যাতে বিষয়বস্তু সম্পূর্ণরূপে লোড হয়ে গেলে এটি অদৃশ্য হয়ে যায়।
HTML DOM আমাদের জাভাস্ক্রিপ্ট থেকে আমাদের HTML উপাদানগুলির শৈলী পরিবর্তন করতে দেয় এবং নীচের কোডটি নির্দেশ করে যে আমরা লোডারের কন্টেইনার সেট করছি display
সম্পত্তি none
যাতে এটি একবার প্রদর্শিত না হয় load
সফল হলো:
window.addEventListener('load', () => { loaderContainer.style.display = 'none';
});
বিকল্পভাবে, আপনি একটি পৃথক ক্লাস তৈরি করতে পারেন যা ধারণ করে display: none
সম্পত্তি:
.loader-container-hidden { display: none;
}
এবং তারপর ব্যবহার করুন classList.add()
ক্লাস যোগ করতে loader-container
উপাদান:
window.addEventListener('load', () => { loaderContainer.classList.add('loader-container-hidden');
});
লোড হচ্ছে... উপাদান সরানো হচ্ছে
এখনও অবধি, আমরা একটি প্রধান পদ্ধতি দেখেছি যা আমাদের গোপন করতে দেয় loader-container
, ইঙ্গিত করে যে উপাদানটি এখনও উপস্থিত, কিন্তু লুকানো। আরেকটি বিকল্প হল উপাদান সম্পূর্ণরূপে অপসারণ করা:
window.addEventListener('load', () => { loaderContainer.parentElement.removeChild(loaderContainer);
});
এই মুহুর্তে, যখন আমরা আমাদের পৃষ্ঠা লোড করি, পৃষ্ঠার বিষয়বস্তু সম্পূর্ণরূপে লোড না হওয়া পর্যন্ত লোডিং অ্যানিমেশন প্রদর্শিত হবে৷
একটি API থেকে বাহ্যিক সামগ্রীর অনুরোধ করার সময় লোডিং অ্যানিমেশন প্রয়োগ করা
একটি বাহ্যিক API থেকে বিষয়বস্তু আনয়ন একটি লোডার অন্তর্ভুক্ত করার প্রয়োজন হতে পারে যে অন্য পরিস্থিতি. এই ধরনের সামগ্রী আনতে এবং প্রদর্শন করতে কিছু সময় নিতে পারে, তাই একটি লোডার অন্তর্ভুক্ত করা ভাল।
আমাদের ক্ষেত্রে, এর একটি থেকে একটি উদ্ধৃতি পেতে চেষ্টা করা যাক উদ্ধৃতি API বিল্ট-ইন ফেচ API ব্যবহার করে। লক্ষ্য করুন যে এই নিবন্ধের শুরুতে আমরা যে এইচটিএমএল তৈরি করেছি তাতে একটি রয়েছে "উদ্ধৃতি তৈরি করুন" বোতাম আমাদের যা করতে হবে তা হল ব্যবহার document.querxySelector()
উপাদান পেতে এবং একটি পরিচালনা করার জন্য একটি কলব্যাক ফাংশন তৈরি করার পদ্ধতি click
ব্যবহারকারী যখন বোতামটি ক্লিক করে তখন ইভেন্টটি ট্রিগার হয়:
const getQuoteBtn = document.querySelector('.get-quote'); getQuoteBtn.addEventListener('click', () => { fetch('https://api.quotable.io/random') .then((response) => { return response.json(); }) .then((data) => { const quote = document.querySelector('.quote'); const author = document.querySelector('.author'); quote.innerHTML = data.content; author.innerHTML = data.author; });
});
এটি আমাদের অ্যাপ্লিকেশনে এলোমেলো উদ্ধৃতি পেতে সফলভাবে আমাদের সহায়তা করবে, তবে আমরা একটি পেতে চাই অ্যানিমেশন লোড হচ্ছে যাতে ব্যবহারকারী জানে যে আমরা বিষয়বস্তুর আশা করছি। এটি সম্পন্ন করার জন্য, আমরা দুটি পদ্ধতি তৈরি করব, একটি প্রদর্শন করার জন্য loader-container
এবং অন্যটি লুকানোর জন্য:
const displayLoading = () => { loaderContainer.style.display = 'block';
}; const hideLoading = () => { loaderContainer.style.display = 'none';
};
বিঃদ্রঃ: আমরা ব্যবহার করছি display: none
, কিন্তু আমরা পূর্বে তালিকাভুক্ত অন্যান্য পদ্ধতিগুলির মধ্যে একটি ব্যবহার করতে পারি।
এই মুহুর্তে, আমরা অবশেষে কলব্যাক ফাংশনে লোডিং অ্যানিমেশনকে অন্তর্ভুক্ত করতে পারি। যখন আনা শুরু হবে কলব্যাক ফাংশন লোডিং অ্যানিমেশন প্রদর্শন করবে এবং ডেটা প্রাপ্ত হওয়ার পরে এটি লুকাবে:
getQuoteBtn.addEventListener('click', () => { displayLoading(); fetch('https://api.quotable.io/random') .then((response) => { return response.json(); }) .then((data) => { hideLoading(); const quote = document.querySelector('.quote'); const author = document.querySelector('.author'); quote.innerHTML = data.content; author.innerHTML = data.author; });
});
উপসংহার
এই নিবন্ধে, আমরা শিখেছি কিভাবে ভ্যানিলা জাভাস্ক্রিপ্ট ব্যবহার করে লোডিং অ্যানিমেশন তৈরি করতে হয় এবং যথাযথভাবে প্রদর্শন করতে হয়। আমরা এটি সম্পন্ন করার জন্য বিভিন্ন পন্থা বিবেচনা করেছি এবং লোডিং অ্যানিমেশনের জন্য কয়েকটি ভিন্ন ব্যবহারের ক্ষেত্রে দেখেছি। আমরা একটি লোডার হিসাবে ঘূর্ণায়মান বৃত্ত ব্যবহার করতে বেছে নিয়েছি, কিন্তু আপনি এটিকে আপনার পছন্দ মতো পরিবর্তন করতে পারেন - নির্দ্বিধায় নিজের তৈরি করুন জিআইএফ অথবা CSS অ্যানিমেটেড লোডার।
- a
- কর্ম
- অতিরিক্ত
- সব
- অনুমতি
- এর পাশাপাশি
- অন্য
- API
- প্রদর্শিত
- আবেদন
- অ্যাপ্লিকেশন
- অভিগমন
- পন্থা
- উপযুক্তভাবে
- প্রবন্ধ
- মনোযোগ
- সহজলভ্য
- পটভূমি
- শুরু
- হচ্ছে
- নিচে
- সর্বোত্তম
- কালো
- বাধা
- নির্মাণ করা
- বিল্ট-ইন
- পেতে পারি
- কেস
- পরিবর্তন
- বেছে নিন
- বৃত্ত
- শ্রেণী
- কোড
- সাধারণ
- জ্ঞাপক
- আধার
- বিষয়বস্তু
- নিয়ন্ত্রণ
- দম্পতি
- আবরণ
- সৃষ্টি
- নির্মিত
- সৃজনী
- এখন
- উপাত্ত
- উন্নয়নশীল
- DID
- বিভিন্ন
- অদৃশ্য
- প্রদর্শন
- ড্রপবক্স
- উপাদান
- ঘটনা
- ঠিক
- অভিজ্ঞতা
- পরিশেষে
- প্রথম
- স্থায়ী
- বিনামূল্যে
- থেকে
- সদর
- ক্রিয়া
- উত্পাদন করা
- পেয়ে
- চালু
- কৌশল
- হাতল
- সাহায্য
- সাহায্য
- এখানে
- লুকান
- ঝুলিতে
- ঘর
- কিভাবে
- কিভাবে
- HTTPS দ্বারা
- আইকন
- ধারনা
- বাস্তবায়ন
- গুরুত্বপূর্ণ
- উন্নত করা
- অন্তর্ভুক্ত করা
- সুদ্ধ
- অন্তর্ভুক্তি
- IT
- জাভাস্ক্রিপ্ট
- শুরু করা
- স্তর
- জ্ঞানী
- তালিকাভুক্ত
- জীবিত
- বোঝা
- বোঝাই
- দেখুন
- মুখ্য
- পদ্ধতি
- হতে পারে
- সেতু
- অনেক
- পছন্দ
- মূল
- অন্যান্য
- নিজের
- সম্প্রদায়
- বিন্দু
- বর্তমান
- প্রকল্প
- সম্পত্তি
- উদ্দেশ্য
- RE
- গৃহীত
- সরানোর
- চিত্রিত করা
- প্রয়োজন
- প্রতিক্রিয়া
- একই
- স্ক্রিন
- বিন্যাস
- প্রদর্শনী
- অনুরূপ
- অবস্থা
- So
- কঠিন
- কিছু
- কিছু
- বিবৃত
- এখনো
- শৈলী
- সফল
- সফলভাবে
- সার্জারির
- জিনিস
- সময়
- শীর্ষ
- স্বচ্ছ
- আলোড়ন সৃষ্টি
- ধরনের
- বোঝা
- us
- ব্যবহার
- ব্যবহারের ক্ষেত্রে
- ব্যবহারকারী
- বিভিন্ন
- উপায়
- ওয়েব
- ওয়েব অ্যাপ্লিকেশন
- ওয়েবসাইট
- ওয়েবসাইট
- কি
- যখন
- হয়া যাই ?
- would
- আপনার