CSS+Js遮罩效果的TAB及焦点图片切换(推荐)

让我来为你详细讲解一下“CSS+Js遮罩效果的TAB及焦点图片切换(推荐)”的完整攻略。

简介

这个教程主要是介绍如何使用CSS和JavaScript实现遮罩效果的TAB及焦点图片切换。通过熟悉和学习这个教程,你可以更好的理解和掌握CSS和JavaScript的使用方法,从而可以灵活地应用这些技巧来实现各种各样的页面效果。

教程步骤

  1. 创建基本的HTML结构,包括遮罩效果的TAB和焦点图片切换的布局。
  2. 使用CSS对布局进行样式设计,包括对遮罩效果的TAB和焦点图片切换的样式定义。
  3. 使用JavaScript对TAB和焦点图片切换进行实现,包括处理点击事件和控制样式变化等。
  4. 进行测试和调试,确保效果正常。

示例

为了更好地理解和实践这个教程,下面给出两个示例说明,分别是遮罩效果的TAB和焦点图片切换的实现。

示例1:遮罩效果的TAB

HTML:

<div class="tab-box">
  <ul class="tab-list">
    <li class="tab-item active">TAB 1</li>
    <li class="tab-item">TAB 2</li>
    <li class="tab-item">TAB 3</li>
  </ul>
  <div class="tab-content-box">
    <div class="tab-content-item active">
      <p>TAB 1 CONTENT</p>
    </div>
    <div class="tab-content-item">
      <p>TAB 2 CONTENT</p>
    </div>
    <div class="tab-content-item">
      <p>TAB 3 CONTENT</p>
    </div>
  </div>
</div>

CSS:

.tab-box {
  position: relative;
}
.tab-list {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
}
.tab-item {
  flex: 1;
  text-align: center;
  padding: 10px;
  cursor: pointer;
  box-sizing: border-box;
}
.tab-item:hover {
  background-color: #eee;
}
.tab-item.active {
  background-color: #ccc;
}
.tab-content-box {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
}
.tab-content-box .tab-content-item {
  display: none;
}
.tab-content-box .tab-content-item.active {
  display: block;
}

JavaScript:

var tabList = document.querySelector('.tab-list');
var tabContents = document.querySelectorAll('.tab-content-item');

tabList.addEventListener('click', function(event) {
  var tabItem = event.target.closest('.tab-item');
  if (tabItem && !tabItem.classList.contains('active')) {
    // 切换激活状态
    var activeTabItem = tabList.querySelector('.tab-item.active');
    activeTabItem.classList.remove('active');
    tabItem.classList.add('active');

    // 切换内容显示
    var activeTabContent = document.querySelector('.tab-content-item.active');
    activeTabContent.classList.remove('active');

    var tabIndex = Array.prototype.indexOf.call(tabItem.parentNode.children, tabItem);
    tabContents[tabIndex].classList.add('active');
  }
});

示例2:焦点图片切换

HTML:

<div class="focus-box">
  <ul class="focus-list">
    <li class="focus-item active"><img src="image1.jpg" alt="Image 1"></li>
    <li class="focus-item"><img src="image2.jpg" alt="Image 2"></li>
    <li class="focus-item"><img src="image3.jpg" alt="Image 3"></li>
  </ul>
  <div class="focus-arrow-box">
    <span class="focus-arrow focus-arrow-prev">&lt;</span>
    <span class="focus-arrow focus-arrow-next">&gt;</span>
  </div>
</div>

CSS:

.focus-box {
  position: relative;
  height: 400px;
  overflow: hidden;
}
.focus-list {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}
.focus-item {
  flex: 1;
}
.focus-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.focus-arrow-box {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
}
.focus-arrow {
  display: inline-block;
  text-align: center;
  line-height: 20px;
  width: 20px;
  height: 20px;
  background-color: #ccc;
  color: #fff;
  cursor: pointer;
}
.focus-arrow:hover {
  background-color: #999;
}
.focus-arrow-prev {
  border-radius: 10px 0 0 10px;
  margin-right: 10px;
}
.focus-arrow-next {
  border-radius: 0 10px 10px 0;
  margin-left: 10px;
}

JavaScript:

var focusList = document.querySelector('.focus-list');
var focusItems = document.querySelectorAll('.focus-item');
var focusArrows = document.querySelectorAll('.focus-arrow');

var focusIndex = 0;

function setActiveFocusItem(index) {
  var activeFocusItem = focusList.querySelector('.focus-item.active');
  activeFocusItem.classList.remove('active');
  focusItems[index].classList.add('active');
  focusIndex = index;
}

function switchToPrevFocusItem() {
  var prevIndex = focusIndex - 1;
  if (prevIndex < 0) {
    prevIndex = focusItems.length - 1;
  }
  setActiveFocusItem(prevIndex);
}

function switchToNextFocusItem() {
  var nextIndex = focusIndex + 1;
  if (nextIndex >= focusItems.length) {
    nextIndex = 0;
  }
  setActiveFocusItem(nextIndex);
}

focusArrows[0].addEventListener('click', switchToPrevFocusItem);
focusArrows[1].addEventListener('click', switchToNextFocusItem);

以上就是两个示例说明,希望可以帮助你更好地理解和实践这个教程。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CSS+Js遮罩效果的TAB及焦点图片切换(推荐) - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • jQuery之过滤元素操作小结

    下面我将详细讲解一下“jQuery之过滤元素操作小结”的攻略。 1. jQuery中的过滤元素操作 在jQuery中,可以使用过滤选择器和过滤方法来对元素进行选择和过滤。 1.1 过滤选择器 过滤选择器用于简单的过滤,选择器中以冒号 “:” 开头,常用的过滤选择器有: :first:选择第一个匹配的元素 :last:选择最后一个匹配的元素 :even:选择所…

    jquery 2023年5月28日
    00
  • 使用jquery获取url以及jquery获取url参数的实现方法

    获取url和url参数是web前端开发中常用的技巧,可以让我们根据url信息来实现一些功能和跳转,下面将详细讲解使用jQuery获取url和url参数以及实现方法。 获取url 获取当前页面的url很简单,只需要执行以下jQuery代码即可: var url = window.location.href; 上述代码将会获得当前页面的url,该url包括协议、…

    jquery 2023年5月27日
    00
  • jQWidgets jqxExpander toggleMode属性

    jQWidgets jqxExpander toggleMode属性 jQWidgets是一个基于jQuery的UI组件库,提供了丰富UI组件和工具包表格等。jqExp是jQ的一个组件,创建可折叠面板。jqxExpander提供了多个属性其中括toggleMode属性本文将详细介绍toggleMode属性,并提供两个示例。 toggleMode属性的基本语法…

    jquery 2023年5月9日
    00
  • 提取jquery的ready()方法单独使用示例

    要提取 jQuery 的 ready() 方法单独使用,需要进行以下步骤: 第一步:下载 jQuery 在 jQuery 的官网 https://jquery.com/download/ 中可以选择所需版本的 jQuery 进行下载。下载完成后,将 jQuery 文件复制到项目的指定目录下面。 第二步:新建 HTML 文件并引入 jQuery 在项目目录中新…

    jquery 2023年5月27日
    00
  • jQuery基本过滤选择器用法示例

    下面是关于“jQuery基本过滤选择器用法示例”的完整攻略,包括用法说明和两个示例说明: 什么是jQuery选择器? 选择器是一种用于选择HTML元素的机制,它是jQuery的重要部分。jQuery支持的选择器种类多种多样,包括基本选择器、层次选择器、属性选择器、筛选选择器、表单选择器和表单对象过滤选择器等。其中,本文主要介绍的是jQuery基本过滤选择器的…

    jquery 2023年5月28日
    00
  • jQWidgets jqxDateTimeInput min属性

    以下是关于“jQWidgets jqxDateTimeInput min属性”的完整攻略,包含两个示例说明: 属性简介 min 属性是 jQWidgetsDateTimeInput 控件的一个属性,用于设置日期时间输入框的最小值。该属性的语法如下: $("#jqxDateTimeInput").jqxDateTimeInput({ min…

    jquery 2023年5月10日
    00
  • jquery+springboot实现文件上传功能

    以下是jquery+springboot实现文件上传功能的完整攻略。 准备工作 引入依赖 首先需要在pom.xml中引入如下依赖: <!– springboot web依赖 –> <dependency> <groupId>org.springframework.boot</groupId> <art…

    jquery 2023年5月27日
    00
  • SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的

    首先需要明确一下SpringMVC框架和jQuery的概念。 SpringMVC是一种Java Web开发框架,主要提供了一个基于MVC(Model-View-Controller)模式的Web开发框架,通过控制器和视图的结合来实现请求和响应的分离,使得Java Web应用程序的开发更具有可维护性和扩展性。 jQuery是一种JavaScript库,它提供了…

    jquery 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部