大家好,我是数字营销实战派飞小优,这几天测试项目中发现当查看产品信时,有时候因页面往下拉而忽视原本较为重要的TAB锚点信息,为解决这一问题,我们采用JS的方式来实现,具体请看教程:

先看下DEMO效果

如何实现

利用JS+css来具体实现。

定义CSS样式

先做好CSS基础样式,如下:

/* 基本的Tab样式 */
.entry-tab {
    list-style: none;
    padding: 0;
    margin: 0;
    background-color: #f3fbff;
    border-bottom: 1px solid #daeff9;
    width: 100%; 
    z-index: 999; 
    transition: top 0.3s; 
	 border-radius: 5px 5px 0 0;
}

.entry .entry-tab-item.active {
    border-bottom: 2px solid var(--theme-color);
    cursor: default;
    border-radius: 5px 5px 0 0;
}

.entry-tab.fixed {
	  display: flex;
    justify-content: center;
    position: fixed;
	  left:0;
    top: 0;
}

.entry-tab.centered {
    justify-content: center;
}

.entry-tab-item {
    display: inline-block;
    padding: 10px 20px;
    cursor: pointer;
}

.get-quotation-btn {
    padding: 10px 20px;
    background-color: #0090EA;
    color: white;
    border: none;
    cursor: pointer;
    z-index: 1000;
}

.get-quotation-btn.fixed {
    position: fixed;
    top: 14px;
    right: 30%;
	border-radius:5px;
}

.get-quotation-btn:hover { background-color: #44C377;}

添加JS代码

<script>
   document.addEventListener('DOMContentLoaded', function() {
    const navbarCollapse = document.querySelector('.navbar-collapse');
    const entryTab = document.querySelector('.entry-tab');
    const btn = document.createElement('button');
    btn.classList.add('get-quotation-btn');
    btn.textContent = 'Get A Quotation';
    entryTab.parentNode.insertBefore(btn, entryTab.nextSibling);

    let lastScrollTop = 0;

    window.addEventListener('scroll', function() {
        const scrollTop = window.pageYOffset || document.documentElement.scrollTop;
        if (scrollTop > lastScrollTop) {
            // 向下滚动
            navbarCollapse.classList.add('fixed');
            entryTab.classList.add('fixed');
            btn.classList.add('fixed'); // 固定按钮
            btn.style.display = 'inline-block'; // 显示按钮
        } else {
            // 向上滚动
            navbarCollapse.classList.remove('fixed');
            entryTab.classList.remove('fixed');
            btn.classList.remove('fixed'); // 移除按钮固定
            btn.style.display = 'none'; // 隐藏按钮
            if (scrollTop === 0) {
                entryTab.classList.add('centered');
            } else {
                entryTab.classList.remove('centered');
            }
        }
        lastScrollTop = scrollTop;
    });
});
</script>

到此教程则顺利完工,大家赶快试试吧!

写在最后

只要网站中存在 TAB切换功能,基本都可以按照上述方法来实践,万变不离其宗,有任何不清楚的可以在下方留言,需要SEO外包和建站可以私聊!

* 文章内容很有用,那就5星好评吧!😘

0 / 5 好评 5

Your page rank:

发表回复

Please Login to Comment
数字人
微信

扫码了解更多服务

qr

1对1专家沟通

小程序

funion_xcx