javascript实战:两种tab切换实例教程

2 下载量 10 浏览量 更新于2024-09-01 收藏 83KB PDF 举报
本文将深入探讨如何使用JavaScript实现两种不同的tab切换效果,特别是针对那些希望将理论知识应用于实践的开发者。首先,我们将参考"中国人民大学"官方网站的样式,通过背景图片和CSS样式来模拟一个动态的tab切换组件。这个例子将展示如何使用HTML结构、CSS布局以及JavaScript控制元素的显示和隐藏,以创建响应式的切换效果。以下是关键代码片段: HTML部分: ```html <ul id="tanContainer"> <li class="flitab" id="tabOne">新闻</li> <li class="flitab" id="tabTwo">公告</li> <li class="flitab" id="tabThree">学术</li> <!-- 文体部分省略 --> </ul> <div id="tabCon"> <div id="tabConpa"> <p id="bigPara"></p> </div> </div> ``` CSS部分: ```css #tanContainer { /* 其他样式 */ } #tabContainer li { /* 清除默认样式,设置浮动 */ } .fli { float: left; } #tabOne, #tabTwo, #tabThree { /* 隐藏初始状态下的内容 */ opacity: 0; transition: opacity 0.3s ease; } #tabConpa p { /* 样式调整 */ } ``` JavaScript部分: ```javascript var tabs = document.querySelectorAll('#tanContainer li'); var content = document.getElementById('tabCon'); tabs.forEach(function(tab, index) { tab.addEventListener('mouseover', function() { var targetTab = this.id; for (var i = 0; i < tabs.length; i++) { tabs[i].classList.remove('active'); } this.classList.add('active'); var contentBlock = document.getElementById(targetTab + 'Conpa'); if (contentBlock) { contentBlock.style.display = 'block'; var activeTab = document.getElementById(targetTab + 'One'); activeTab.style.opacity = 1; // 其他内容的处理,如学术、交流和文体部分 } }); tab.addEventListener('mouseout', function() { // 当鼠标离开时,隐藏当前选中的内容 var activeTab = document.querySelector('.active'); activeTab.style.opacity = 0; content.style.display = 'none'; }); }); ``` 在第二个实例中,可能涉及到jQuery或者其他库的使用,用于简化操作或提供更便捷的方法来切换内容块。这部分内容可以包括使用`fadeIn()`或`fadeOut()`等jQuery动画效果,或者利用jQuery的事件代理机制来简化事件监听。 总结来说,这篇文章通过实例演示了如何使用纯JavaScript以及可能的jQuery库来实现网页上的tab切换效果,包括静态背景图片、鼠标悬停触发切换、内容的显示与隐藏等。对于希望通过实践巩固理论的前端开发者来说,这是一个很好的学习资源。