jquery实现初次打开有动画效果的网页TAB切换代码

下面是详细的攻略:

需求分析

需要用jquery实现一个带有切换动画效果的网页TAB切换功能。具体要求如下:

  • 初次加载页面时,选中第一个TAB页面,其他TAB页面隐藏。
  • 点击某个TAB按钮时,该按钮对应的TAB页面显示,并向左边滑动展示。
  • 再次点击该TAB按钮时,该页面向右边滑动隐藏。

代码实现

实现思路:

  • 通过jquery选择器找到所有的TAB按钮和页面元素,给每个TAB按钮添加click事件。
  • 切换页面时,先将当前显示的页面向右边滑动隐藏,再将点击的目标页面向左边滑动展示。

以下是两个示例:

示例一

HTML结构:

<div class="tab">
  <div class="tab-buttons">
    <button class="active" data-target="tab-page-1">页面1</button>
    <button data-target="tab-page-2">页面2</button>
    <button data-target="tab-page-3">页面3</button>
  </div>
  <div class="tab-pages">
    <div id="tab-page-1" class="active">这是页面1</div>
    <div id="tab-page-2">这是页面2</div>
    <div id="tab-page-3">这是页面3</div>
  </div>
</div>

CSS样式:

.tab {
  width: 500px;
  height: 300px;
  margin: 50px auto;
  border: 1px solid #ccc;
  position: relative;
}

.tab-buttons {
  position: absolute;
  left: 0;
  top: 0;
}

.tab-buttons button {
  display: inline-block;
  padding: 10px 20px;
  background-color: #eee;
  border: none;
  cursor: pointer;
  margin-right: 10px;
}

.tab-pages {
  position: absolute;
  left: 0;
  top: 40px;
  width: 100%;
  height: 260px;
  overflow: hidden;
}

.tab-pages div {
  width: 100%;
  height: 260px;
  position: absolute;
  left: 0;
  top: 0;
  display: none;
  opacity: 0;
  transition: all 0.2s ease-in;
}

.tab-pages div.active {
  display: block;
  opacity: 1;
}

JS代码:

$(function() {
  // 初始默认选中第一个页面
  $('.tab-pages div').eq(0).addClass('active').css('display', 'block').css('opacity', 1);

  $('.tab-buttons button').click(function() {
    // 获取目标页面ID
    var target = $(this).data('target');
    // 判断目标页面是否已经显示,如果已经显示则不进行切换
    if ($('#'+target).hasClass('active')) {
      return false;
    }

    // 隐藏当前显示的页面
    $('.tab-pages div.active').animate({left: '100%', opacity: 0}, 200, function() {
      $(this).removeClass('active').css('display', 'none');
    });

    // 显示目标页面
    $('#' + target).addClass('active').css('display', 'block').animate({left: '0', opacity: 1}, 200);
  });
});

示例二

HTML结构:

<div class="tab">
  <div class="tab-buttons">
    <button class="active" data-target="tab-page-1">页面1</button>
    <button data-target="tab-page-2">页面2</button>
    <button data-target="tab-page-3">页面3</button>
  </div>
  <div class="tab-pages">
    <div id="tab-page-1" class="active">这是页面1</div>
    <div id="tab-page-2">这是页面2</div>
    <div id="tab-page-3">这是页面3</div>
  </div>
</div>

CSS样式:

.tab {
  width: 500px;
  height: 300px;
  margin: 50px auto;
  border: 1px solid #ccc;
  position: relative;
}

.tab-buttons {
  position: absolute;
  left: 0;
  top: 0;
}

.tab-buttons button {
  display: inline-block;
  padding: 10px 20px;
  background-color: #eee;
  border: none;
  cursor: pointer;
  margin-right: 10px;
}

.tab-pages {
  position: absolute;
  left: 0;
  top: 40px;
  width: 100%;
  height: 260px;
  overflow: hidden;
}

.tab-pages div {
  width: 100%;
  height: 260px;
  position: absolute;
  left: 0;
  top: 0;
  display: none;
}

.tab-pages div.active {
  display: block;
}

JS代码:

$(function() {
  // 初始默认选中第一个页面
  $('.tab-pages div').eq(0).addClass('active').css('opacity', 1);

  $('.tab-buttons button').click(function() {
    // 获取目标页面ID
    var target = $(this).data('target');
    // 判断目标页面是否已经显示,如果已经显示则不进行切换
    if ($('#'+target).hasClass('active')) {
      return false;
    }

    // 隐藏当前显示的页面
    $('.tab-pages div.active').fadeOut(200).removeClass('active');

    // 显示目标页面
    $('#' + target).fadeIn(200).addClass('active');
  });
});

总结

以上就是jquery实现初次打开有动画效果的网页TAB切换代码的攻略。可以根据具体需求选择不同的效果,通过动画的方式来提升用户体验。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jquery实现初次打开有动画效果的网页TAB切换代码 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 原生JavaScript实现刮刮乐

    关于“原生JavaScript实现刮刮乐”的攻略,我们可以按照以下步骤进行。 1. 准备工作 首先,我们需要在HTML文件中创建一个canvas元素,用于绘制刮去涂层后的图片。示例代码如下: <canvas id="scratch-card"></canvas> 接下来,我们需要准备两张图片。一张作为底部图片,一张…

    JavaScript 2023年6月10日
    00
  • JavaScript获取当前url路径过程解析

    JavaScript获取当前URL路径过程解析 在 JavaScript 中获取当前页面的 URL 路径是我们常见的需求之一。下面将详细介绍在不同的情况下如何获取当前 URL 路径。 1. window.location.href 我们可以通过 window.location.href 获取当前页面的完整 URL,包括协议、主机名、端口号和路径等信息。例如:…

    JavaScript 2023年6月11日
    00
  • javascript二维数组和对象的深拷贝与浅拷贝实例分析

    JavaScript二维数组和对象的深拷贝与浅拷贝实例分析 概述 在JavaScript中,数组和对象是两个广泛使用的数据结构,它们在实际开发中经常需要进行拷贝操作。拷贝操作没有统一的标准,被分为深拷贝和浅拷贝两种类型。当数组或对象中的元素比较简单时,使用浅拷贝已经能满足需求。但若数组或对象中存在嵌套的元素,使用浅拷贝时会出现意想不到的结果。此时需要使用深拷…

    JavaScript 2023年6月10日
    00
  • Javascript Date getMinutes() 方法

    以下是关于JavaScript Date对象的getMinutes()方法的完整攻略,包括两个示例说明。 JavaScript Date对象的getMinutes()方法 JavaScript Date对象的getMinutes()方法返回一个表示分钟的数字(0-59)。该方法可用获取日期的分钟数。 下使用Date对象的getMinutes()方法的示例: …

    JavaScript 2023年5月11日
    00
  • Document.location.href和.replace的区别示例介绍

    Document.location.href和.replace是JavaScript中经常用到的两个方法,它们的作用都是跳转页面,但其实存在着一些区别。接下来我将详细讲解这两个方法的区别,并且分别给出两个示例来说明。 Document.location.href和.replace的区别 Document.location.href 使用Document.lo…

    JavaScript 2023年6月11日
    00
  • Android WebView使用方法详解 附js交互调用方法

    Android WebView使用方法详解 附js交互调用方法 一、Android WebView使用方法 WebView是Android提供的一个用于展示网页的组件。它支持HTML、CSS和JavaScript等Web标准,并可以与原生代码进行交互。 1.1 在XML布局文件中使用WebView 在布局文件中添加一个WebView控件: <WebVi…

    JavaScript 2023年6月11日
    00
  • 悟透JavaScript整理版

    悟透JavaScript整理版攻略 什么是悟透JavaScript整理版? 悟透JavaScript整理版是一份面试必备的JavaScript知识点总结,全面覆盖JavaScript的核心概念、基础语法、面向对象编程、异步编程、浏览器API、正则表达式等知识点。 如何学习悟透JavaScript整理版? 第一步:了解JavaScript基础概念 什么是变量?…

    JavaScript 2023年5月18日
    00
  • 实例讲解JavaScript截取字符串

    下面是”实例讲解JavaScript截取字符串”的完整攻略。 1. 标题 首先需要添加标题,标题应该精简明了,能够体现出文章的主要内容。比如:实例讲解JavaScript截取字符串。 2. 简介 在文章的开始,需要添加简单的介绍,概括一下本文主要讲解的内容。比如:JavaScript中截取字符串是开发中经常使用的操作之一,本文将通过实例讲解如何使用JavaS…

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