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

yizhihongxing

下面是详细的攻略:

需求分析

需要用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实现手机震动API代码

    很好,下面是详细讲解 JavaScript 实现手机震动 API 代码的完整攻略: 1. 确认浏览器支持性 首先需要确认浏览器是否支持 Vibration API(震动 API)。可以通过以下代码来检测: // 判断浏览器是否支持 Vibration API(震动 API) if ("vibrate" in navigator) { co…

    JavaScript 2023年6月11日
    00
  • jQuery使用ajax跨域请求获取数据

    下面详细讲解“jQuery使用ajax跨域请求获取数据”的完整攻略。 1. 什么是跨域请求? 跨域请求指的是向一个不同域名(或者协议、端口)的服务器发起请求,这种请求是不被允许的。比如我们的web页面在访问http://www.example.com的时候,去请求http://www.baidu.com就属于跨域请求。 2. jQuery ajax 跨域请求…

    JavaScript 2023年6月11日
    00
  • 从URL中提取参数与将对象转换为URL查询参数的实现代码

    从URL中提取参数的实现代码 通过JavaScript代码解析URL获取参数是一种很常见的操作,我们可以通过以下操作来提取URL中的参数: 1.使用window.location.search获取查询字符串部分,该部分包含了所有请求参数。例如,我们可以使用以下代码来获取URL地址中的search字符串: let searchStr = window.loca…

    JavaScript 2023年6月11日
    00
  • js实现精确到毫秒的倒计时效果

    实现精确到毫秒的倒计时效果一般可以通过以下步骤完成: 获取两个日期之间的时间差:当前时间和目标时间(倒计时结束时间)。 将时间差转换成需要展示的格式:天、时、分、秒、毫秒。 更新时间差并展示倒计时效果。可以使用定时器 setInterval 或 requestAnimationFrame 实现倒计时的更新。 下面是具体步骤的示例代码: 步骤一:获取时间差 c…

    JavaScript 2023年5月27日
    00
  • JavaScript闭包原理与用法实例分析

    JavaScript闭包原理与用法实例分析 什么是闭包 在javascript中,闭包是一个比较基础的概念。它能够让我们可以轻松地实现许多常见的编码模式,比如惰性加载、模块化、私有变量等等。闭包是指有权访问另一个函数作用域内变量的函数。 闭包的原理 闭包创建时,外部函数已经执行完毕,但内部函数仍然可以访问外部函数的变量。因为当一个函数被执行完毕后,它的作用域…

    JavaScript 2023年6月10日
    00
  • $.ajax中contentType: “application/json” 的用法详解

    下面是“$.ajax中contentType: application/json 的用法详解”的完整攻略。 什么是contentType contentType是Ajax请求中的一个参数,表示请求的数据类型。通过这个参数,我们可以告诉服务器我们请求的数据的格式是什么。常用的contentType有application/x-www-form-urlencod…

    JavaScript 2023年6月11日
    00
  • JavaScript实现维吉尼亚(Vigenere)密码算法实例

    下面我将详细讲解“JavaScript实现维吉尼亚(Vigenere)密码算法实例”的完整攻略。 什么是维吉尼亚(Vigenere)密码算法? 维吉尼亚(Vigenere)密码算法是一种多表密码算法,它是基于一个关键字与明文的组合形成密文的算法。这种密码算法最早由法国密码学家布拉泽尔(Blaise de Vigenere)于16世纪提出。 维吉尼亚密码算法的…

    JavaScript 2023年5月19日
    00
  • JS实现PC手机端和嵌入式滑动拼图验证码三种效果

    实现PC手机端和嵌入式滑动拼图验证码,可以使用JS库“SlideVerify”,该库可以轻松地实现滑动验证码。下面是实现过程的完整攻略。 步骤一:引入SlideVerify库 在HTML文档中引入SlideVerify库,可以通过以下方式引入: <script src="path/to/SlideVerify.js"><…

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