三种方法实现tab栏切换(CSS方法、JS方法、Vue方法)

这篇具有很好参考价值的文章主要介绍了三种方法实现tab栏切换(CSS方法、JS方法、Vue方法)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、需求

给下图的静态页面添加tab栏切换效果

三种方法实现tab栏切换(CSS方法、JS方法、Vue方法),javascript,css,vue.js

 文章来源地址https://www.toymoban.com/news/detail-635455.html

二、CSS方法

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    * {
      margin: 0;
      padding: 0;
    }
    ul {
      display: flex;
      border-bottom: 2px solid #e01222;
      padding: 0 10px;
    }
    li {
      width: 100px;
      height: 50px;
      line-height: 50px;
      list-style: none;
      text-align: center;
    }
    li a {
      display: block;
      text-decoration: none;
      font-weight: bold;
      color: #333333;
    }

    li a.active:active,
    li a.active:focus {
      background-color: #e01222;
      color: #fff;
    }

  </style>
</head>
<body>

  <div id="app">
    <ul>
      <li><a class="active" href="#">京东秒杀</a></li>
      <li><a class="active" href="#">每日特价</a></li>
      <li><a class="active" href="#">品类秒杀</a></li>
    </ul>
  </div>

</body>
</html>

三、JS方法

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    * {
      margin: 0;
      padding: 0;
    }
    ul {
      display: flex;
      border-bottom: 2px solid #e01222;
      padding: 0 10px;
    }
    li {
      width: 100px;
      height: 50px;
      line-height: 50px;
      list-style: none;
      text-align: center;
    }
    li a {
      display: block;
      text-decoration: none;
      font-weight: bold;
      color: #333333;
    }
    li a.active {
      background-color: #e01222;
      color: #fff;
    }

  </style>
</head>
<body>

  <div id="app">
    <ul>
      <li><a class="active" href="#">京东秒杀</a></li>
      <li><a href="#">每日特价</a></li>
      <li><a href="#">品类秒杀</a></li>
    </ul>
  </div>
  <script>
    document.querySelector('#app ul').addEventListener('click',e=>{
      if(e.target.tagName==='A'){
        document.querySelector('.active').classList.remove('active')
        e.target.classList.add('active')
      }
    })
  </script>
</body>
</html>

四、Vue方法

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    * {
      margin: 0;
      padding: 0;
    }
    ul {
      display: flex;
      border-bottom: 2px solid #e01222;
      padding: 0 10px;
    }
    li {
      width: 100px;
      height: 50px;
      line-height: 50px;
      list-style: none;
      text-align: center;
    }
    li a {
      display: block;
      text-decoration: none;
      font-weight: bold;
      color: #333333;
    }
    li a.active {
      background-color: #e01222;
      color: #fff;
    }

  </style>
</head>
<body>

  <div id="app">
    <ul>
      <li v-for="(item,index) in list" :key="item.id"><a :class="{active:index===activeIndex}" @click="activeIndex=index" href="#">{{item.name}}</a></li>
    </ul>
  </div>
  <script src="./vue.js"></script>
  <script>
    const app = new Vue({
      el: '#app',
      data: {
        activeIndex:0,
        list: [
          { id: 1, name: '京东秒杀' },
          { id: 2, name: '每日特价' },
          { id: 3, name: '品类秒杀' }
        ]

      }
    })
  </script>
</body>
</html>

到了这里,关于三种方法实现tab栏切换(CSS方法、JS方法、Vue方法)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue css变量实现多主题皮肤切换

    实现方式 多主题皮肤切换有很多种实现方式,可以用css预处理器实现,可以用js实现,其实最近简单的一种方式是用css变量(css variable)实现 单页面应用中,可以通过设置body的css变量爱控制整个系统的颜色,body添加一个属性my-theme,该属性值用来表示当前页面的主题皮肤,切换

    2024年02月06日
    浏览(38)
  • css实现图片全屏铺满自适应的三种方法

    前两天做了一个登录页面,登录页面背景是一张图片。图片要铺满整个屏幕,当时再将整个图片铺满时,总是遇到各种问题:①.图片虽然铺满整个屏幕,但是图片变形了;②.图片没有变形,但是图片没有铺满整个屏幕。 background: url(\\\"bg.png\\\") no-repeat; height:100%;--- height:100vh; wi

    2024年02月13日
    浏览(31)
  • JavaScript编程实现tab选项卡切换的效果+1

    之前在“圳品”信息系统使用了tab选项卡来显示信息,详见: JavaScript编程实现tab选项卡切换的效果 在tab选项卡中使用其它div来显示信息就出现了问题,乱套了,比如下面的这段代码: 运行效果如下: 可以看到,第1张选项卡中的div id=\\\"div1\\\" class=\\\"blue\\\"选项卡1/div消失了,而第

    2024年02月03日
    浏览(35)
  • HTML+CSS+JavaScript:两种方法实现商品价格筛选效果

    鼠标点击上方菜单栏中不同的价格区间,自动筛选出价格符合条件的商品,并渲染在页面中   以下是缺失JS部分的代码,感兴趣的小伙伴可以先自己试着写一写 1、封装渲染函数,传入的参数为数组对象,将数组中的每一个对象进行数据处理,再渲染到页面中 2、利用事件委托

    2024年02月14日
    浏览(43)
  • 使用JS来实现tab栏切换

    这是我今天从学习的知识点,今天试着做了一个tab栏切换,学到很多的知识点,讲师也比学校的老师讲的更加详细明白 个人名片:  😊作者简介:一名大一在校生,web前端开发专业  🤡 个人主页:几何小超  🐼座右铭:懒惰受到的惩罚不仅仅是自己的失败,还有别人的成

    2024年02月07日
    浏览(24)
  • VUE环境下 CSS3+JS 实现发牌 翻牌

    创建牌容器(关键点:overflow:hidden): 创建每一张牌《固定十张牌》: 1.父级(卡牌未放开显示背景) 卡牌子级(显示卡牌内容) 初始化牌位置:  开始发牌: 1.通过变量show来控制 添加 \\\'popup-top-box-card\\\' + index 给牌Class 改变position top left  实现发牌动作  rotateY(180deg) 实现

    2024年02月10日
    浏览(32)
  • html、css 和 JS(JavaScript) 的相互关联

    工作所需,需要承担一些字体矢量动效玩法实现;调研发现前端可以快速实现一些矢量动画效果; 本文旨在介绍前端的三大利器(HTML / CSS / JS)的区别和联系,就当个引子 HTML CSS JS 介绍 HTML是超文本标记语言的简称,它是一种不严谨的、简单的标识性语言。它用各种标签将页

    2024年02月10日
    浏览(40)
  • HTML+CSS+JS 学习笔记(三)———Javascript(中)

    🌱博客主页:大寄一场. 🌱系列专栏:前端 🌱往期回顾:HTML+CSS+JS 学习笔记(三)———Javascript(上) 😘博客制作不易欢迎各位👍点赞+⭐收藏+➕关注 目录  JavaScript中的函数 函数的定义和调用 函数的定义  函数的调用 嵌套函数  递归函数  变量的作用域 全局变量和局部

    2024年02月06日
    浏览(65)
  • 在JavaScript中添加css样式 js追加类

    一、原生js中添加类的方法 二、jquery中添加类的方法 三、检查是否含有某个类的方法 四、在JavaScript中添加CSS样式: 五、使用HTML DOM的setAttribute()方法更改CSS属性: 六、使用JavaScript可以通过动态创建样式表 style标签 来添加CSS样式。 例如,以下代码创建一个新的style标签,并

    2024年02月03日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包