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中的alert()函数使用技巧详解

    JavaScript中的alert()函数使用技巧详解 在JavaScript中,alert()函数用于弹出一个对话框,展示消息给用户。在本篇文章中,我们将详细讲解alert()函数的使用技巧。 基本用法 alert()函数是JavaScript的全局函数,调用它时无需使用任何前缀。例如: alert("Hello World!"); 上…

    JavaScript 2023年5月27日
    00
  • JS实现网页烟花动画效果

    JS实现网页烟花动画效果是一种比较常用的前端效果,它可以为网页增添更多的视觉体验。下面是JS实现网页烟花动画效果的完整攻略: 步骤一:准备工作 首先需要在HTML页面中引入对应的JS文件,代码如下: <script src="path/to/fireworks.js"></script> 步骤二:创建画布 烟花动画…

    JavaScript 2023年6月10日
    00
  • JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】

    这个问题需要比较详细的回答,以下是完整攻略: 什么是正则表达式? 正则表达式,又称正规表示式、正规表示法、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为 regex、regexp 或 RE),是计算机科学的一个概念。正则表达式通常缩写为 regex,在某些情况下也被称为模式匹配,是一种用来描述、匹配一系列符合某个语法规则…

    JavaScript 2023年5月28日
    00
  • JavaScript常用字符串与数组扩展函数小结

    JavaScript是一门强大的语言,它提供了大量的内置函数,其中包括对字符串和数组的操作。除此之外,还有很多扩展函数可以用于处理字符串和数组。 本文将对常用的JavaScript字符串和数组扩展函数做一个小结。 JavaScript字符串扩展函数 1. startsWith() startsWith()方法用于判断一个字符串是否以指定的字符串开头。如果是,…

    JavaScript 2023年5月27日
    00
  • JS数组降维的几种方法详解

    JS数组降维是指将多维数组转换为一维数组。本文将详细讲解JS数组降维的几种方法,包括使用reduce()方法、ES6中的展开运算符和concat()方法等。 一、使用reduce()方法 reduce()方法接收两个参数,第一个参数是一个回调函数,第二个参数是累加器的初始值。回调函数接收两个参数,第一个参数是累加器的值,第二个参数是当前元素的值。在回调函数中…

    JavaScript 2023年5月27日
    00
  • 深入解析JavaScript编程中的this关键字使用

    深入解析JavaScript编程中的this关键字使用 本文将深入讲解JavaScript编程中的this关键字的使用。this关键字在JavaScript中十分重要,它在不同的上下文环境下表现出不同的含义,常常让不少开发者摸不着头脑。本文将从概念入手,详细介绍this的定义、使用以及指向问题,并结合两个示例进行讲解。 this的定义和值 this是Java…

    JavaScript 2023年5月28日
    00
  • websocket++简单使用及实例分析

    Websocket++简单使用及实例分析 Websocket++是一个C++的WebSocket库,用于实现基于WebSocket协议的网络应用程序。这个库提供了许多的接口和功能,使得程序开发更为简单和高效,同时也支持多种平台和操作系统。本文将详细讲解Websocket++的简单使用及实例分析,帮助读者更好的了解这个库的特点和优势。 Websocket++的…

    JavaScript 2023年5月28日
    00
  • js两种拼接字符串的简单方法(必看)

    JS两种拼接字符串的简单方法 在JavaScript中,有多种方法可以将字符串拼接在一起。在本文中,我们将介绍两种简单的方法。 方法1: 使用加号 “+” 运算符 加号运算符是最常用的字符串拼接方式之一。下面是一个简单的例子: const str1 = "Hello"; const str2 = "world"; co…

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