巩固基础-类似tab的翻页效果,上一页下一页

效果图:
效果图

抛砖引玉,完全可以做成轮播图的效果,运用好绝对定位,和滚动加css3,有时间做个插件,封装一些基本方法就ok了,没那么复杂。

<!DOCTYPE html>
<html>

  <head>
    <meta charset="utf-8">
    <title>Bootstrap 实例 - 折叠面板</title>
    <link href="http://libs.baidu.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
    <script src="http://libs.baidu.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
  </head>
  <style>
    .jumbotron{
      position: relative;
    }
    .jumbotron div{
      text-align: center;
      display: none;
    }
    .div-active{
      display: block !important;
    }
    #pre{
      position: absolute;
      left:10px;
      top:50%;
      margin-top: -10px;
      }
    #next{
      position: absolute;
      right:10px;
      top:50%;
      margin-top: -10px;
      }
  </style>

  <body class="container">
    <button id="modalbtn" class="btn btn-primary btn-lg col-md-4 col-md-offset-4" data-toggle="modal" data-target="#myModal">
       开始演示模态框
    </button>


    <!-- 模态框(Modal) -->
    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
      <div class="modal-dialog">
        <div class="modal-content">
          <div class="modal-body">

            <div class="jumbotron">
              <button id="pre" class="btn btn-success"></button>
              <button id="next" class="btn btn-success"></button>
                    <div class='div-active'>Part 1
                      <br>亲自试一试 1
                      <br>亲自试一试 1
                      <br>亲自试一试 1
                      <br>亲自试一试 1</div>
                    <div>Part 2
                      <br>亲自试一试 2
                      <br>亲自试一试 2
                      <br>亲自试一试 2
                      <br>亲自试一试 2</div>
                    <div>Part 3
                      <br>亲自试一试 3
                      <br>亲自试一试 3
                      <br>亲自试一试 3
                      <br>亲自试一试 3</div>
                    <div>Part 4
                      <br>亲自试一试 4
                      <br>亲自试一试 4
                      <br>亲自试一试 4
                      <br>亲自试一试 4</div>
            </div><!-- /.end jumb -->

          </div>
        </div>
      </div>
      <!-- /.modal-content -->
    </div>
    <!-- /.modal -->


    <script>
      $(function () {
        $('#modalbtn').click(function(){
            $('.jumbotron div').first().addClass("div-active").siblings().removeClass("div-active");
            if($('.jumbotron div').first().hasClass('div-active')){
                  $('#pre').hide();
            }
        });
        $('#pre').hide();

        $('#next').click(function(){
            $('#pre').show();
            $('.div-active').next().addClass("div-active").siblings().removeClass("div-active");
        })

        $('#pre').click(function(){

          $('.div-active').prev().addClass("div-active").siblings().removeClass("div-active");
          if($('.jumbotron div').first().hasClass('div-active')){
                  $('#pre').hide();
                  return false;
            }

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

</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用element-ui中的Tabs组件,该组件支持滚动和可关闭标签页,并且可以通过设置属性来实现箭头切换上一页一页的功能。 具体实现步骤如下: 1. 安装element-ui组件库 ``` npm install element-ui -S ``` 2. 在Vue项目中引入element-ui组件库 ```javascript import Vue from 'vue'; import ElementUI from 'element-ui'; import 'element-ui/lib/theme-chalk/index.css'; Vue.use(ElementUI); ``` 3. 在Vue组件中使用Tabs组件 ```html <template> <div class="tab-container"> <el-tabs v-model="activeTab" :tab-position="tabPosition" type="border-card" closable @tab-remove="handleTabRemove"> <el-tab-pane v-for="(tab, index) in tabs" :key="tab.name" :label="tab.title" :name="tab.name"> {{ tab.content }} </el-tab-pane> </el-tabs> </div> </template> <script> export default { data() { return { activeTab: '', tabPosition: 'top', tabs: [ { name: 'tab1', title: '标签页1', content: '标签页1的内容' }, { name: 'tab2', title: '标签页2', content: '标签页2的内容' }, { name: 'tab3', title: '标签页3', content: '标签页3的内容' }, { name: 'tab4', title: '标签页4', content: '标签页4的内容' }, { name: 'tab5', title: '标签页5', content: '标签页5的内容' }, { name: 'tab6', title: '标签页6', content: '标签页6的内容' }, { name: 'tab7', title: '标签页7', content: '标签页7的内容' }, { name: 'tab8', title: '标签页8', content: '标签页8的内容' }, { name: 'tab9', title: '标签页9', content: '标签页9的内容' }, { name: 'tab10', title: '标签页10', content: '标签页10的内容' }, { name: 'tab11', title: '标签页11', content: '标签页11的内容' }, { name: 'tab12', title: '标签页12', content: '标签页12的内容' }, { name: 'tab13', title: '标签页13', content: '标签页13的内容' }, { name: 'tab14', title: '标签页14', content: '标签页14的内容' }, { name: 'tab15', title: '标签页15', content: '标签页15的内容' }, ], }; }, methods: { handleTabRemove(tab) { const index = this.tabs.findIndex((t) => t.name === tab.name); this.tabs.splice(index, 1); }, }, }; </script> <style> .tab-container { width: 400px; overflow: hidden; } .el-tabs__nav-scroll { display: flex !important; justify-content: space-between; align-items: center; } .el-tabs__nav-wrap { display: flex !important; } </style> ``` 4. 自定义样式实现箭头切换上一页一页的功能 ```css .tab-container { width: 400px; overflow: hidden; } .el-tabs__nav-scroll { display: flex !important; justify-content: space-between; align-items: center; } .el-tabs__nav-wrap { display: flex !important; } .el-tabs__nav-prev, .el-tabs__nav-next { width: 20px; height: 20px; border-radius: 50%; font-size: 12px; text-align: center; line-height: 20px; cursor: pointer; background-color: #eee; } .el-tabs__nav-prev:hover, .el-tabs__nav-next:hover { background-color: #ddd; } .el-tabs__nav-prev.disabled, .el-tabs__nav-next.disabled { cursor: not-allowed; background-color: #ccc; } ``` 在上面的代码中,我们通过设置`.el-tabs__nav-scroll`和`.el-tabs__nav-wrap`的样式,将标签页的导航栏设置为横向布局,并且通过在左侧和右侧添加箭头来实现切换上一页一页的功能。同时,通过监听`@tab-remove`事件,我们可以在用户关闭标签页时动态更新`this.tabs`数组中的数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值