(function(){
const headline = document.getElementById('typing-headline');
const output = document.getElementById('typing-output');
const replayBtn = document.getElementById('replay-btn');
const speedRange = document.getElementById('speed-range');
// āĻāĻাāύে āĻāĻĒāύাāϰ āϞেāĻাāĻুāϞো āĻĻিāύ — āĻĒ্āϰāϤিāĻি āĻāĻāĻেāĻŽ āĻāĻ āĻāĻāĻা āĻĒুāϰো āϞাāĻāύ āĻŦা āĻĒ্āϝাāϰাāĻ্āϰাāĻĢ
const lines = [
āĻšাāĻিāĻ্āĻŦāϤুāύ āύāĻĢāϏ(āĻĒāϰ্āĻŦ—ā§Ļā§§)
āύāĻĢāϏেāϰ āĻŽāϧ্āϝে āϏāĻŽāϏ্āϤ āĻাāϰাāĻŦি āύিāĻšিāϤ āĻĨাāĻে,āĻāϰ āĻŽāϧ্āϝে āĻাāϞোāϰ āĻোāύো āϞেāĻļāĻŽাāϤ্āϰāĻ āύাāĻ।āύāĻĢāϏ āĻুāĻāϰ্āĻŽেāϰ āĻĒ্āϰāϤি āĻāĻāϰ্āώিāϤ āĻĨাāĻে,āĻāĻŦং āĻুāĻĢুāϰি āĻŽুāύাāĻĢেāĻিāϰ āĻĻিāĻে āĻāĻāϰ্āώāύ āĻĨাāĻে।āύāĻĢāϏāĻে āϝāĻĻি āĻাāύ্āύাāϤ āĻাāĻšাāύ্āύাāĻŽ āĻĻেāĻিā§েāĻ āĻĻেāĻā§া āĻšā§,āϤাāϰāĻĒāϰāĻ āϏে āĻাāĻšাāύ্āύাāĻŽāĻেāĻ āĻŦেāĻে āύিāϤে āĻাāĻāĻŦে,āϝāĻĻিāύা āϤাāĻে āĻেāύে āĻেāĻ āĻাāύ্āύāϤে āĻĸুāĻিā§ে āĻĻেā§।āϏāĻŽāϏ্āϝা āĻšāϞো āĻĻুāύিā§াāϤে āύāĻĢāĻে āĻĒ্āϰāĻĨāĻŽে āϰাāĻা āĻšā§েāĻে।āύāĻĢāϏেāϰ āϏাāĻĨে āϏীāĻŽাāĻšীāύ āϞā§াāĻ āĻāĻā§া āĻāϰে āϰুāĻšেāϰ āĻāĻāϤে āĻĒ্āϰāĻŦেāĻļ āĻāϰāϤে āĻšā§।āĻ
āϰ্āĻĨাā§ āϰুāĻšāĻে āύāĻĢāϏ āĻĻিā§ে āĻĸেāĻে āĻĻেāĻā§া āĻšā§েāĻে।āϝাāϰা āĻŦāϞে āύāĻĢāϏ āĻāĻŦং āϰুāĻš āĻāĻāĻ āϤাāϰা āĻ্āϰাāύ্āϤিāϤে āϰā§েāĻে।
āĻāϞ্āϞাāĻš āϤাā§াāϞা āϰāϏুāϞ āϏাāϞ্āϞাāϞ্āϞাāĻšু āĻāϞাāĻāĻšিāĻā§া āϏাāϞ্āϞাāĻŽ āϏāĻŽ্āĻĒāϰ্āĻে āĻŦāϞেāύ,"āĻāϰ āϰāϏূāϞ āύāĻĢāϏ āĻĨেāĻে āĻোāύো āĻāĻĨা āĻŦāϞেāύ āύা।"
āϤিāύি āϝা āĻŦāϞেāύ,āϤা āϤো āĻāĻšী,āϝা āϤাāĻে āĻŦāϞāϤে āĻŦāϞা āĻšā§।
āĻāĻŽāϰা āϏাāϧাāϰāύāϤ āĻĒ্āϰāĻŦৃāϤ্āϤিāϰ āϤাāϰāύাā§ āĻāĻĨাāĻŦাāϰ্āϤা āĻŦāϞে āĻĨাāĻি,āĻিāύ্āϤু āĻāϞ্āϞাāĻšāϰ āϰāϏূāϞ,āĻāĻŦং āϏীāĻŽাāĻšীāύ āϏাāϧāύা āĻāϰে āϝাāϰা āĻāϞি āĻāĻāϞিā§া āĻšā§েāĻেāύ,āϤাāϰা āύāĻĢāϏāĻে āĻ
āϤিāĻ্āϰāĻŽ āĻāϰে āϰুāĻšেāϰ āĻāĻāϤে āĻĒ্āϰāĻŦেāĻļ āĻāϰেāύ।
āύāĻĢāϏেāϰ āĻাāĻি āϏāĻāϞেāϰāĻ āĻ
āϤিāĻ্āϰāĻŽ āĻāϰāϤে āĻšāĻŦে,āύāĻĢāϏেāϰ āĻাāĻি āĻ
āϤিāĻ্āϰāĻŽ āĻāϰা āĻŽাāύে āĻাāĻšাāύ্āύাāĻŽ āĻ
āϤিāĻ্āϰāĻŽ āĻāϰা।āĻĻুāύিā§াāϤে,āĻ
āϤিāĻ্āϰāĻŽ āĻāϰāϤে āĻিāĻু āĻŦাāĻি āĻĨাāĻে āϏেāĻুāĻু āĻাāĻšাāύ্āύাāĻŽে āĻ্āĻŦাāϞিā§ে āĻ
āϤিāĻ্āϰāĻŽ āĻāϰাāύো āĻšāĻŦে।
(āĻāĻ āĻŦিāώā§ে āĻāϰো āĻ
āύেāĻ āĻāĻĨা āĻŦāϞাāϰ āĻāĻে āĻāύāĻļাāĻāϞ্āϞাāĻš āϧীāϰে āϧীāϰে āĻĒāϰ্āĻŦ āĻāĻাāϰে āĻŦāϞāĻŦ)
āϝāĻĻি āϏāĻŦাāϰ āĻšাāϤে āĻāĻāĻি āĻāϰে āĻŦাāϤি āĻĻিā§ে āĻĻেāĻā§া āĻšāϤো āϤাāĻšāϞে āĻāĻŽāϰা āĻŽāϤāĻেāĻĻ āĻĨেāĻে āĻŽুāĻ্āϤি āĻĒেāϤাāĻŽ।
(āĻāĻŽাāϰ āĻāĻĨাā§ āĻাāϰো āĻĻ্āĻŦীāĻŽāϤ āĻĨাāĻāϞে āύিāϰ্āĻĻ্āϧিāϧাā§ āĻাāύাāϤে āĻĒাāϰেāύ,āĻāĻŽি āĻাāύāϤে āĻāĻŦং āĻাāύাāϤে āĻāĻ্āϰāĻšী, āĻāĻŽি āĻāĻোāύো āĻ
āύেāĻāĻিāĻুāĻ āĻাāύিāύা।)
// cursor āĻāϞিāĻŽেāύ্āĻ (āĻŦ্āϞিংāĻিং)
let cursor;
function makeCursor() {
cursor = document.createElement('span');
cursor.setAttribute('aria-hidden','true');
cursor.style.display = 'inline-block';
cursor.style.marginLeft = '4px';
cursor.style.width = '10px';
cursor.style.animation = 'blink 1s steps(2, start) infinite';
cursor.style.background = 'linear-gradient(180deg,#bfeebf,#7fe0ff)';
cursor.style.height = '1em';
cursor.style.verticalAlign = 'middle';
cursor.style.borderRadius = '2px';
return cursor;
}
// blink keyframes (inject once)
const style = document.createElement('style');
style.textContent = "@keyframes blink{50%{opacity:0}}";
document.head.appendChild(style);
// type one character at a time (returns Promise)
function typeText(targetEl, text, msPerChar) {
return new Promise(resolve => {
let i = 0;
targetEl.textContent = '';
function step() {
if (i <= text.length - 1) {
targetEl.textContent += text.charAt(i);
i++;
setTimeout(step, msPerChar);
} else {
resolve();
}
}
step();
});
}
// main routine: type all lines sequentially
let running = false;
async function runTyping() {
if (running) return;
running = true;
headline.setAttribute('aria-pressed','true');
output.innerHTML = ''; // clear
const cursorEl = makeCursor();
output.appendChild(cursorEl);
for (let idx = 0; idx < lines.length; idx++) {
// create paragraph container for this line
const p = document.createElement('p');
p.style.margin = '0 0 12px 0';
p.style.whiteSpace = 'pre-wrap';
output.insertBefore(p, cursorEl);
const speed = parseInt(speedRange.value,10); // smaller -> faster
const msPerChar = Math.max(6, Math.round(140 - speed)); // map range to ms
await typeText(p, lines[idx], msPerChar);
// āĻোāĻ āĻŦ্āϰেāĻ: āĻĒāϰāĻŦāϰ্āϤী āϞাāĻāύ āĻļুāϰু āĻšāĻā§াāϰ āĻāĻে āĻāĻāĻু āĻŦিāϰāϤি
await new Promise(r => setTimeout(r, 450));
}
// āϏāĻŦ āĻļেāώ āĻšāϞে cursor āĻŦাāύ্āϧাāϰি (āĻŦ্āϞিংāĻ)
if (cursorEl) cursorEl.style.opacity = '0.85';
headline.setAttribute('aria-pressed','false');
running = false;
}
// restart functionality
function restartTyping() {
running = false;
output.innerHTML = '';
runTyping();
}
// Attach events
headline.addEventListener('click', runTyping);
replayBtn.addEventListener('click', restartTyping);
// allow Enter/Space to trigger for keyboard users
headline.addEventListener('keydown', (e) => {
if (e.key === 'Enter' || e.key === ' ') {
e.preventDefault();
runTyping();
}
});
// accessibility: make headline focusable
headline.tabIndex = 0;
})();
āĻāĻĒāϰেāϰ āĻোāĻĄে āĻুāϞ āĻāĻে।āϏāĻ িāĻ āĻোāĻĄ āύিāĻে āĻĻেāĻā§া āĻšāϞো
About
āĻšৃāĻĻā§েāϰ āĻĒ্āϰāĻļাāύ্āϤি
This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
0 comments:
Post a Comment