Scroll Bar Tab On Blogger
ဒါက တော့မိမိ website မှာရှိတဲ့အကြောင်းအရာ တွေကိုမိမိစိတ်ကြိုက် ဖော်ပြပေးမဲ့ scroll bar tab လေးဖြစ်ပါတယ်။အခြားမိမိနှစ်သက်တဲ့အကြောင်းအရာတွေကိုလဲမိမိစိတ်ကြိုက်ပြုပြင် ဖော်ပြပေးလို့ရပါတယ်။အကယ်၍ကြိုက်နှစ်သက်လို့အသုံးပြုချင်တယ်ဆိုရင်အောက်ကဖော်ပြပါအဆင့်အနည်းငယ်ဖြင့်ပြုလုပ်ဆောင်ရွက်နိုင်မှာဖြစ်ပါတယ်။
- မိမိ blogsite ကို account အရင်ဝင်ပါ
- dashboard ထဲက Layout ကိုနှိပ်
- HTML/JavaScript ကိုနှိပ်
- အောက်က code တွေကူးထည့်
<style>
.scrollable-tabs-container {
font-family: "Roboto", sans-serif;
background: #000;
max-width: 700px;
margin: 16px auto;
border-radius: 4px;
overflow: hidden;
position: relative;
}
.scrollable-tabs-container svg {
width: 24px;
height: 24px;
padding: 8px;
cursor: pointer;
color: #fff;
border-radius: 50%;
pointer-events: auto;
}
.scrollable-tabs-container ul {
display: flex;
gap: 16px;
padding: 12px 24px;
margin: 0;
list-style: none;
overflow-x: scroll;
-ms-overflow-style: none;
scrollbar-width: none;
scroll-behavior: smooth;
}
.scrollable-tabs-container ul.dragging a {
pointer-events: none;
}
.scrollable-tabs-container ul.dragging {
scroll-behavior: auto;
}
.scrollable-tabs-container ul::-webkit-scrollbar {
display: none;
}
.scrollable-tabs-container a {
color: #fff;
text-decoration: none;
background: #333;
padding: 4px 24px;
display: inline-block;
border-radius: 4px;
user-select: none;
white-space: nowrap;
}
.scrollable-tabs-container a.active {
background: #fff;
color: #000;
}
.scrollable-tabs-container .right-arrow,
.scrollable-tabs-container .left-arrow {
position: absolute;
height: 100%;
width: 100px;
top: 0;
display: none;
align-items: center;
padding: 0 10px;
pointer-events: none;
}
.scrollable-tabs-container .right-arrow.active,
.scrollable-tabs-container .left-arrow.active {
display: flex;
}
.scrollable-tabs-container .right-arrow {
right: 0;
background: linear-gradient(to left, #000 50%, transparent);
justify-content: flex-end;
}
.scrollable-tabs-container .left-arrow {
background: linear-gradient(to right, #000 50%, transparent);
}
.scrollable-tabs-container svg:hover {
background: #333;
}
</style>
<div class="scrollable-tabs-container">
<div class="left-arrow">
<svg
xmlns="http://www.w3.org/2000/svg"
fill="none"
viewbox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor"
class="w-6 h-6"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
d="M15.75 19.5L8.25 12l7.5-7.5"
/>
</path
></svg
></div>
<ul>
<li>
<a href="#" class="active">All</a>
</li>
<li>
<a href="#">Title</a>
</li>
<li>
<a href="#">Title</a>
</li>
<li>
<a href="#">Title</a>
</li>
<li>
<a href="#">Title</a>
</li>
<li>
<a href="#">Title</a>
</li>
<li>
<a href="#">Title</a>
</li>
<li>
<a href="#">Title</a>
</li>
<li>
<a href="#">Title</a>
</li>
<li>
<a href="#">Title</a>
</li>
<li>
<a href="#">Title</a>
</li>
<li>
<a href="#">Title</a>
</li>
<li>
<a href="#">Title</a>
</li>
</ul>
<div class="right-arrow active">
<svg
xmlns="http://www.w3.org/2000/svg"
fill="none"
viewbox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor"
class="w-6 h-6"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
d="M8.25 4.5l7.5 7.5-7.5 7.5"
/>
</path
></svg
></div>
</div>
<script><![CDATA
const tabs = document.querySelectorAll(".scrollable-tabs-container a");
const rightArrow = document.querySelector(
".scrollable-tabs-container .right-arrow svg"
);
const leftArrow = document.querySelector(
".scrollable-tabs-container .left-arrow svg"
);
const tabsList = document.querySelector(".scrollable-tabs-container ul");
const leftArrowContainer = document.querySelector(
".scrollable-tabs-container .left-arrow"
);
const rightArrowContainer = document.querySelector(
".scrollable-tabs-container .right-arrow"
);
const removeAllActiveClasses = () => {
tabs.forEach((tab) => {
tab.classList.remove("active");
});
};
tabs.forEach((tab) => {
tab.addEventListener("click", () => {
removeAllActiveClasses();
tab.classList.add("active");
});
});
const manageIcons = () => {
if (tabsList.scrollLeft >= 20) {
leftArrowContainer.classList.add("active");
} else {
leftArrowContainer.classList.remove("active");
}
let maxScrollValue = tabsList.scrollWidth - tabsList.clientWidth - 20;
console.log("scroll width: ", tabsList.scrollWidth);
console.log("client width: ", tabsList.clientWidth);
if (tabsList.scrollLeft >= maxScrollValue) {
rightArrowContainer.classList.remove("active");
} else {
rightArrowContainer.classList.add("active");
}
};
rightArrow.addEventListener("click", () => {
tabsList.scrollLeft += 200;
manageIcons();
});
leftArrow.addEventListener("click", () => {
tabsList.scrollLeft -= 200;
manageIcons();
});
tabsList.addEventListener("scroll", manageIcons);
let dragging = false;
const drag = (e) => {
if (!dragging) return;
tabsList.classList.add("dragging");
tabsList.scrollLeft -= e.movementX;
};
tabsList.addEventListener("mousedown", () => {
dragging = true;
});
tabsList.addEventListener("mousemove", drag);
document.addEventListener("mouseup", () => {
dragging = false;
tabsList.classList.remove("dragging");
});
]]></script>
# နေရာမှာမိမိ ဖော်ပြချင်တဲ့အ ကြောင်းအရာရဲ့ link ထည့်ပေးပါ။
Title နေရာမှာမိမိ ဖော်ပြချင်တဲ့အ ကြောင်းအရာရဲ့ နာမည် ထည့်ပေးပါ။
- save ကိုနှိပ်ပြီးပါပြီ