美文网首页
vue 项目 swiper 同向切换+内页过长滚动

vue 项目 swiper 同向切换+内页过长滚动

作者: 顺其自然AAAAA | 来源:发表于2020-05-21 15:56 被阅读0次

最近有一个项目,要实现轮播,而且轮播的其中两项是(其中两个swiper-slide)的内容比较多,官网也有示例,我的也是依照官网的,基本一样
1.下载(通过NPM获取Swiper)

npm install swiper

2.按需引入(我这里没有在main.js添加,在需要的页面添加,不知道是不是我在文件下载了vue-awesome-swiper)

import Swiper from 'swiper'
import 'swiper/css/swiper.min.css'
<template>
  <div id="PcTest">
    <div class="swiper-container" id="swiper-container1">
      <div class="swiper-wrapper">
        <div class="swiper-slide">Slide 1</div>
        <div class="swiper-slide">
          <div class="swiper-container" id="swiper-container2">
            <div class="swiper-wrapper">
              <div class="swiper-slide">
                <h4>一段很长的内容</h4>
                <p style="opacity:0.99;">
                  一
                  <br />段
                  <br />很
                  <br />长
                  <br />的
                  <br />内
                  <br />容
                </p>
                <p style="opacity:0.98;">
                  一
                  <br />段
                  <br />很
                  <br />长
                  <br />的
                  <br />内
                  <br />容
                </p>
                <p style="opacity:0.97;">
                  一
                  <br />段
                  <br />很
                  <br />长
                  <br />的
                  <br />内
                  <br />容
                </p>
              </div>
            </div>
            <div class="swiper-scrollbar"></div>
          </div>
        </div>
        <div class="swiper-slide">Slide 3</div>
        <div class="swiper-slide">Slide 4</div>
        <div class="swiper-slide">Slide 5</div>
      </div>
      <!-- Add Pagination -->
      <div class="swiper-pagination"></div>
    </div>
  </div>
</template>
<script>
import Swiper from 'swiper'
import 'swiper/css/swiper.min.css'
export default {
  data () {
    return {
      mySwiper1: null,
      mySwiper2: null
    }
  },
  mounted () {
    this.mySwiper1 = new Swiper('#swiper-container1', {
      direction: 'vertical',
      pagination: { el: '.swiper-pagination', clickable: true }
    })
    this.mySwiper2 = new Swiper('#swiper-container2', { // 子swiper
      direction: 'vertical',
      nested: true,
      // resistanceRatio: 0,
      slidesPerView: 'auto',
      freeMode: true,
      scrollbar: { el: '.swiper-scrollbar' }
    })
  }
}
</script>
<style lang="less" scoped>
    html, body {
      position: relative;
      height: 100%;
    }
    body {
      background: #eee;
      font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
      font-size: 14px;
      color:#000;
      margin: 0;
      padding: 0;
    }
    #PcTest {
        width: 100%;
        height: 100vh
    }
    .swiper-container {
      width: 100%;
      height: 100%;
    }
    .swiper-slide {
      text-align: center;
      font-size: 18px;
      background: #fff;
    }
#swiper-container2 .swiper-slide {
font-size: 18px;
height: auto;
-webkit-box-sizing: border-box;
box-sizing: border-box;
display:block;
line-height:100px;
background: #4390EE;
color: #fff;
}
</style>

PcTest 选择器那里的高度写100vh,不能写100%,我试验的时候如果写100%,不生效,我的vue项目使用的是less。

相关文章

网友评论

      本文标题:vue 项目 swiper 同向切换+内页过长滚动

      本文链接:https://www.haomeiwen.com/subject/clttahtx.html